VirtualBox

Changeset 96450 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Aug 24, 2022 8:37:38 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
153294
Message:

Devices/Graphics: set component types for pixel shader output signature. bugref:10013

Location:
trunk/src/VBox/Devices/Graphics
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-shader.cpp

    r96407 r96450  
    26312631        case SVGA3D_R32G32B32_SINT:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    26322632        case SVGA3D_R16G16B16A16_UINT:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2633         case SVGA3D_R16G16B16A16_SNORM:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2633        case SVGA3D_R16G16B16A16_SNORM:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26342634        case SVGA3D_R16G16B16A16_SINT:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    26352635        case SVGA3D_R32G32_UINT:                   return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     
    26402640        case SVGA3D_R10G10B10A2_UINT:              return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    26412641        case SVGA3D_R11G11B10_FLOAT:               return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2642         case SVGA3D_R8G8B8A8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2643         case SVGA3D_R8G8B8A8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2642        case SVGA3D_R8G8B8A8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2643        case SVGA3D_R8G8B8A8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26442644        case SVGA3D_R8G8B8A8_UINT:                 return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    26452645        case SVGA3D_R8G8B8A8_SINT:                 return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     
    26492649        case SVGA3D_R32_UINT:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    26502650        case SVGA3D_R32_SINT:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2651         case SVGA3D_D24_UNORM_S8_UINT:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2652         case SVGA3D_R24_UNORM_X8:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2651        case SVGA3D_D24_UNORM_S8_UINT:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2652        case SVGA3D_R24_UNORM_X8:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26532653        case SVGA3D_X24_G8_UINT:                   return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2654         case SVGA3D_R8G8_UNORM:                    return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2654        case SVGA3D_R8G8_UNORM:                    return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26552655        case SVGA3D_R8G8_UINT:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    26562656        case SVGA3D_R8G8_SINT:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2657         case SVGA3D_R16_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2657        case SVGA3D_R16_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26582658        case SVGA3D_R16_UINT:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2659         case SVGA3D_R16_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2659        case SVGA3D_R16_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26602660        case SVGA3D_R16_SINT:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2661         case SVGA3D_R8_UNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2661        case SVGA3D_R8_UNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26622662        case SVGA3D_R8_UINT:                       return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2663         case SVGA3D_R8_SNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2663        case SVGA3D_R8_SNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26642664        case SVGA3D_R8_SINT:                       return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2665         case SVGA3D_R8G8_B8G8_UNORM:               return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2666         case SVGA3D_G8R8_G8B8_UNORM:               return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2667         case SVGA3D_BC1_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2668         case SVGA3D_BC2_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2669         case SVGA3D_BC3_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2670         case SVGA3D_BC4_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2671         case SVGA3D_BC5_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
    2672         case SVGA3D_R10G10B10_XR_BIAS_A2_UNORM:    return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2673         case SVGA3D_B8G8R8A8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2674         case SVGA3D_B8G8R8X8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2665        case SVGA3D_R8G8_B8G8_UNORM:               return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2666        case SVGA3D_G8R8_G8B8_UNORM:               return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2667        case SVGA3D_BC1_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2668        case SVGA3D_BC2_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2669        case SVGA3D_BC3_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2670        case SVGA3D_BC4_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2671        case SVGA3D_BC5_SNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2672        case SVGA3D_R10G10B10_XR_BIAS_A2_UNORM:    return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2673        case SVGA3D_B8G8R8A8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2674        case SVGA3D_B8G8R8X8_UNORM_SRGB:           return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26752675        case SVGA3D_R32G32B32A32_FLOAT:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26762676        case SVGA3D_R16G16B16A16_FLOAT:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2677         case SVGA3D_R16G16B16A16_UNORM:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2677        case SVGA3D_R16G16B16A16_UNORM:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26782678        case SVGA3D_R32G32_FLOAT:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2679         case SVGA3D_R10G10B10A2_UNORM:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2680         case SVGA3D_R8G8B8A8_SNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2679        case SVGA3D_R10G10B10A2_UNORM:             return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2680        case SVGA3D_R8G8B8A8_SNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26812681        case SVGA3D_R16G16_FLOAT:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2682         case SVGA3D_R16G16_UNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2683         case SVGA3D_R16G16_SNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2682        case SVGA3D_R16G16_UNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2683        case SVGA3D_R16G16_SNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26842684        case SVGA3D_R32_FLOAT:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2685         case SVGA3D_R8G8_SNORM:                    return SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32;
     2685        case SVGA3D_R8G8_SNORM:                    return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    26862686        case SVGA3D_R16_FLOAT:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    2687         case SVGA3D_D16_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2688         case SVGA3D_A8_UNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2689         case SVGA3D_BC1_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2690         case SVGA3D_BC2_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2691         case SVGA3D_BC3_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2692         case SVGA3D_B5G6R5_UNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2693         case SVGA3D_B5G5R5A1_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2694         case SVGA3D_B8G8R8A8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2695         case SVGA3D_B8G8R8X8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2696         case SVGA3D_BC4_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2697         case SVGA3D_BC5_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2698         case SVGA3D_B4G4R4A4_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2699         case SVGA3D_BC7_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
    2700         case SVGA3D_BC7_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32;
     2687        case SVGA3D_D16_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2688        case SVGA3D_A8_UNORM:                      return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2689        case SVGA3D_BC1_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2690        case SVGA3D_BC2_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2691        case SVGA3D_BC3_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2692        case SVGA3D_B5G6R5_UNORM:                  return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2693        case SVGA3D_B5G5R5A1_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2694        case SVGA3D_B8G8R8A8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2695        case SVGA3D_B8G8R8X8_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2696        case SVGA3D_BC4_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2697        case SVGA3D_BC5_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2698        case SVGA3D_B4G4R4A4_UNORM:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2699        case SVGA3D_BC7_UNORM:                     return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
     2700        case SVGA3D_BC7_UNORM_SRGB:                return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    27012701        case SVGA3D_R9G9B9E5_SHAREDEXP:            return SVGADX_SIGNATURE_REGISTER_COMPONENT_FLOAT32;
    27022702        default:
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-shader.h

    r96407 r96450  
    4545#include "vmsvga_headers_end.h"
    4646
    47 /* SVGA3dDXSignatureRegisterComponentType */
     47/* SVGA3dDXSignatureRegisterComponentType (D3D10_SB_REGISTER_COMPONENT_TYPE) */
    4848#define SVGADX_SIGNATURE_REGISTER_COMPONENT_UINT32  1
    4949#define SVGADX_SIGNATURE_REGISTER_COMPONENT_SINT32  2
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA3d-win-dx.cpp

    r96407 r96450  
    63396339
    63406340                            cResources = idxSR + 1;
     6341
     6342                            /* Update componentType of the pixel shader output signature to correspond to the bound resources. */
     6343                            if (idxSR < pDXShader->shaderInfo.cOutputSignature)
     6344                            {
     6345                                SVGA3dDXSignatureEntry *pSignatureEntry = &pDXShader->shaderInfo.aOutputSignature[idxSR];
     6346                                pSignatureEntry->componentType = DXShaderComponentTypeFromFormat(pSRViewEntry->format);
     6347                            }
    63416348                        }
    63426349                    }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette