D3D_SHADER_VARIABLE_TYPE Enumeration

Values that identify various data, texture, and buffer types that can be assigned to a shader variable.

Syntax

typedef enum _D3D_SHADER_VARIABLE_TYPE {
  D3D_SVT_VOID,
  D3D_SVT_BOOL,
  D3D_SVT_INT,
  D3D_SVT_FLOAT,
  D3D_SVT_STRING,
  D3D_SVT_TEXTURE,
  D3D_SVT_TEXTURE1D,
  D3D_SVT_TEXTURE2D,
  D3D_SVT_TEXTURE3D,
  D3D_SVT_TEXTURECUBE,
  D3D_SVT_SAMPLER,
  D3D_SVT_SAMPLER1D,
  D3D_SVT_SAMPLER2D,
  D3D_SVT_SAMPLER3D,
  D3D_SVT_SAMPLERCUBE,
  D3D_SVT_PIXELSHADER,
  D3D_SVT_VERTEXSHADER,
  D3D_SVT_PIXELFRAGMENT,
  D3D_SVT_VERTEXFRAGMENT,
  D3D_SVT_UINT,
  D3D_SVT_UINT8,
  D3D_SVT_GEOMETRYSHADER,
  D3D_SVT_RASTERIZER,
  D3D_SVT_DEPTHSTENCIL,
  D3D_SVT_BLEND,
  D3D_SVT_BUFFER,
  D3D_SVT_CBUFFER,
  D3D_SVT_TBUFFER,
  D3D_SVT_TEXTURE1DARRAY,
  D3D_SVT_TEXTURE2DARRAY,
  D3D_SVT_RENDERTARGETVIEW,
  D3D_SVT_DEPTHSTENCILVIEW,
  D3D_SVT_TEXTURE2DMS,
  D3D_SVT_TEXTURE2DMSARRAY,
  D3D_SVT_TEXTURECUBEARRAY,
  D3D_SVT_HULLSHADER,
  D3D_SVT_DOMAINSHADER,
  D3D_SVT_INTERFACE_POINTER,
  D3D_SVT_COMPUTESHADER,
  D3D_SVT_DOUBLE,
  D3D_SVT_RWTEXTURE1D,
  D3D_SVT_RWTEXTURE1DARRAY,
  D3D_SVT_RWTEXTURE2D,
  D3D_SVT_RWTEXTURE2DARRAY,
  D3D_SVT_RWTEXTURE3D,
  D3D_SVT_RWBUFFER,
  D3D_SVT_BYTEADDRESS_BUFFER,
  D3D_SVT_RWBYTEADDRESS_BUFFER,
  D3D_SVT_STRUCTURED_BUFFER,
  D3D_SVT_RWSTRUCTURED_BUFFER,
  D3D_SVT_APPEND_STRUCTURED_BUFFER,
  D3D_SVT_CONSUME_STRUCTURED_BUFFER,
  D3D_SVT_MIN8FLOAT,
  D3D_SVT_MIN10FLOAT,
  D3D_SVT_MIN16FLOAT,
  D3D_SVT_MIN12INT,
  D3D_SVT_MIN16INT,
  D3D_SVT_MIN16UINT,
  D3D10_SVT_VOID,
  D3D10_SVT_BOOL,
  D3D10_SVT_INT,
  D3D10_SVT_FLOAT,
  D3D10_SVT_STRING,
  D3D10_SVT_TEXTURE,
  D3D10_SVT_TEXTURE1D,
  D3D10_SVT_TEXTURE2D,
  D3D10_SVT_TEXTURE3D,
  D3D10_SVT_TEXTURECUBE,
  D3D10_SVT_SAMPLER,
  D3D10_SVT_SAMPLER1D,
  D3D10_SVT_SAMPLER2D,
  D3D10_SVT_SAMPLER3D,
  D3D10_SVT_SAMPLERCUBE,
  D3D10_SVT_PIXELSHADER,
  D3D10_SVT_VERTEXSHADER,
  D3D10_SVT_PIXELFRAGMENT,
  D3D10_SVT_VERTEXFRAGMENT,
  D3D10_SVT_UINT,
  D3D10_SVT_UINT8,
  D3D10_SVT_GEOMETRYSHADER,
  D3D10_SVT_RASTERIZER,
  D3D10_SVT_DEPTHSTENCIL,
  D3D10_SVT_BLEND,
  D3D10_SVT_BUFFER,
  D3D10_SVT_CBUFFER,
  D3D10_SVT_TBUFFER,
  D3D10_SVT_TEXTURE1DARRAY,
  D3D10_SVT_TEXTURE2DARRAY,
  D3D10_SVT_RENDERTARGETVIEW,
  D3D10_SVT_DEPTHSTENCILVIEW,
  D3D10_SVT_TEXTURE2DMS,
  D3D10_SVT_TEXTURE2DMSARRAY,
  D3D10_SVT_TEXTURECUBEARRAY,
  D3D11_SVT_HULLSHADER,
  D3D11_SVT_DOMAINSHADER,
  D3D11_SVT_INTERFACE_POINTER,
  D3D11_SVT_COMPUTESHADER,
  D3D11_SVT_DOUBLE,
  D3D11_SVT_RWTEXTURE1D,
  D3D11_SVT_RWTEXTURE1DARRAY,
  D3D11_SVT_RWTEXTURE2D,
  D3D11_SVT_RWTEXTURE2DARRAY,
  D3D11_SVT_RWTEXTURE3D,
  D3D11_SVT_RWBUFFER,
  D3D11_SVT_BYTEADDRESS_BUFFER,
  D3D11_SVT_RWBYTEADDRESS_BUFFER,
  D3D11_SVT_STRUCTURED_BUFFER,
  D3D11_SVT_RWSTRUCTURED_BUFFER,
  D3D11_SVT_APPEND_STRUCTURED_BUFFER,
  D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
  D3D_SVT_FORCE_DWORD
} D3D_SHADER_VARIABLE_TYPE;

Constants

D3D_SVT_VOID The variable is a void pointer.
D3D_SVT_BOOL The variable is a boolean.
D3D_SVT_INT The variable is an integer.
D3D_SVT_FLOAT The variable is a floating-point number.
D3D_SVT_STRING The variable is a string.
D3D_SVT_TEXTURE The variable is a texture.
D3D_SVT_TEXTURE1D The variable is a 1D texture.
D3D_SVT_TEXTURE2D The variable is a 2D texture.
D3D_SVT_TEXTURE3D The variable is a 3D texture.
D3D_SVT_TEXTURECUBE The variable is a texture cube.
D3D_SVT_SAMPLER The variable is a sampler.
D3D_SVT_SAMPLER1D The variable is a 1D sampler.
D3D_SVT_SAMPLER2D The variable is a 2D sampler.
D3D_SVT_SAMPLER3D The variable is a 3D sampler.
D3D_SVT_SAMPLERCUBE The variable is a cube sampler.
D3D_SVT_PIXELSHADER The variable is a pixel shader.
D3D_SVT_VERTEXSHADER The variable is a vertex shader.
D3D_SVT_PIXELFRAGMENT The variable is a pixel fragment.
D3D_SVT_VERTEXFRAGMENT The variable is a vertex fragment.
D3D_SVT_UINT The variable is an unsigned integer.
D3D_SVT_UINT8 The variable is an 8-bit unsigned integer.
D3D_SVT_GEOMETRYSHADER The variable is a geometry shader.
D3D_SVT_RASTERIZER The variable is a rasterizer-state object.
D3D_SVT_DEPTHSTENCIL The variable is a depth-stencil-state object.
D3D_SVT_BLEND The variable is a blend-state object.
D3D_SVT_BUFFER The variable is a buffer.
D3D_SVT_CBUFFER The variable is a constant buffer.
D3D_SVT_TBUFFER The variable is a texture buffer.
D3D_SVT_TEXTURE1DARRAY The variable is a 1D-texture array.
D3D_SVT_TEXTURE2DARRAY The variable is a 2D-texture array.
D3D_SVT_RENDERTARGETVIEW The variable is a render-target view.
D3D_SVT_DEPTHSTENCILVIEW The variable is a depth-stencil view.
D3D_SVT_TEXTURE2DMS The variable is a 2D-multisampled texture.
D3D_SVT_TEXTURE2DMSARRAY The variable is a 2D-multisampled-texture array.
D3D_SVT_TEXTURECUBEARRAY The variable is a texture-cube array.
D3D_SVT_HULLSHADER The variable holds a compiled hull-shader binary.
D3D_SVT_DOMAINSHADER The variable holds a compiled domain-shader binary.
D3D_SVT_INTERFACE_POINTER The variable is an interface.
D3D_SVT_COMPUTESHADER The variable holds a compiled compute-shader binary.
D3D_SVT_DOUBLE The variable is a double precision (64-bit) floating-point number.
D3D_SVT_RWTEXTURE1D The variable is a 1D read-and-write texture.
D3D_SVT_RWTEXTURE1DARRAY The variable is an array of 1D read-and-write textures.
D3D_SVT_RWTEXTURE2D The variable is a 2D read-and-write texture.
D3D_SVT_RWTEXTURE2DARRAY The variable is an array of 2D read-and-write textures.
D3D_SVT_RWTEXTURE3D The variable is a 3D read-and-write texture.
D3D_SVT_RWBUFFER The variable is a read-and-write buffer.
D3D_SVT_BYTEADDRESS_BUFFER The variable is a byte-address buffer.
D3D_SVT_RWBYTEADDRESS_BUFFER The variable is a read-and-write byte-address buffer.
D3D_SVT_STRUCTURED_BUFFER The variable is a structured buffer.

For more information about structured buffer, see the Remarks section.

D3D_SVT_RWSTRUCTURED_BUFFER The variable is a read-and-write structured buffer.
D3D_SVT_APPEND_STRUCTURED_BUFFER The variable is an append structured buffer.
D3D_SVT_CONSUME_STRUCTURED_BUFFER The variable is a consume structured buffer.
D3D_SVT_MIN8FLOAT The variable is an 8-byte FLOAT.
D3D_SVT_MIN10FLOAT The variable is a 10-byte FLOAT.
D3D_SVT_MIN16FLOAT The variable is a 16-byte FLOAT.
D3D_SVT_MIN12INT The variable is a 12-byte INT.
D3D_SVT_MIN16INT The variable is a 16-byte INT.
D3D_SVT_MIN16UINT The variable is a 16-byte INT.
D3D10_SVT_VOID The variable is a void pointer.
D3D10_SVT_BOOL The variable is a boolean.
D3D10_SVT_INT The variable is an integer.
D3D10_SVT_FLOAT The variable is a floating-point number.
D3D10_SVT_STRING The variable is a string.
D3D10_SVT_TEXTURE The variable is a texture.
D3D10_SVT_TEXTURE1D The variable is a 1D texture.
D3D10_SVT_TEXTURE2D The variable is a 2D texture.
D3D10_SVT_TEXTURE3D The variable is a 3D texture.
D3D10_SVT_TEXTURECUBE The variable is a texture cube.
D3D10_SVT_SAMPLER The variable is a sampler.
D3D10_SVT_SAMPLER1D The variable is a 1D sampler.
D3D10_SVT_SAMPLER2D The variable is a 2D sampler.
D3D10_SVT_SAMPLER3D The variable is a 3D sampler.
D3D10_SVT_SAMPLERCUBE The variable is a cube sampler.
D3D10_SVT_PIXELSHADER The variable is a pixel shader.
D3D10_SVT_VERTEXSHADER The variable is a vertex shader.
D3D10_SVT_PIXELFRAGMENT The variable is a pixel fragment.
D3D10_SVT_VERTEXFRAGMENT The variable is a vertex fragment.
D3D10_SVT_UINT The variable is an unsigned integer.
D3D10_SVT_UINT8 The variable is an 8-bit unsigned integer.
D3D10_SVT_GEOMETRYSHADER The variable is a geometry shader.
D3D10_SVT_RASTERIZER The variable is a rasterizer-state object.
D3D10_SVT_DEPTHSTENCIL The variable is a depth-stencil-state object.
D3D10_SVT_BLEND The variable is a blend-state object.
D3D10_SVT_BUFFER The variable is a buffer.
D3D10_SVT_CBUFFER The variable is a constant buffer.
D3D10_SVT_TBUFFER The variable is a texture buffer.
D3D10_SVT_TEXTURE1DARRAY The variable is a 1D-texture array.
D3D10_SVT_TEXTURE2DARRAY The variable is a 2D-texture array.
D3D10_SVT_RENDERTARGETVIEW The variable is a render-target view.
D3D10_SVT_DEPTHSTENCILVIEW The variable is a depth-stencil view.
D3D10_SVT_TEXTURE2DMS The variable is a 2D-multisampled texture.
D3D10_SVT_TEXTURE2DMSARRAY The variable is a 2D-multisampled-texture array.
D3D10_SVT_TEXTURECUBEARRAY The variable is a texture-cube array.
D3D11_SVT_HULLSHADER The variable holds a compiled hull-shader binary.
D3D11_SVT_DOMAINSHADER The variable holds a compiled domain-shader binary.
D3D11_SVT_INTERFACE_POINTER The variable is an interface.
D3D11_SVT_COMPUTESHADER The variable holds a compiled compute-shader binary.
D3D11_SVT_DOUBLE The variable is a double precision (64-bit) floating-point number.
D3D11_SVT_RWTEXTURE1D The variable is a 1D read-and-write texture.
D3D11_SVT_RWTEXTURE1DARRAY The variable is an array of 1D read-and-write textures.
D3D11_SVT_RWTEXTURE2D The variable is a 2D read-and-write texture.
D3D11_SVT_RWTEXTURE2DARRAY The variable is an array of 2D read-and-write textures.
D3D11_SVT_RWTEXTURE3D The variable is a 3D read-and-write texture.
D3D11_SVT_RWBUFFER The variable is a read-and-write buffer.
D3D11_SVT_BYTEADDRESS_BUFFER The variable is a byte-address buffer.
D3D11_SVT_RWBYTEADDRESS_BUFFER The variable is a read and write byte-address buffer.
D3D11_SVT_STRUCTURED_BUFFER The variable is a structured buffer.
D3D11_SVT_RWSTRUCTURED_BUFFER The variable is a read-and-write structured buffer.
D3D11_SVT_APPEND_STRUCTURED_BUFFER The variable is an append structured buffer.
D3D11_SVT_CONSUME_STRUCTURED_BUFFER The variable is a consume structured buffer.
D3D_SVT_FORCE_DWORD This value is not used by a programmer; it exists to force the enumeration to compile to 32 bits.

Remarks

A call to the ID3D11ShaderReflectionType::GetDescmethod returns a D3D_SHADER_VARIABLE_TYPEvalue in the Type member of a D3D11_SHADER_TYPE_DESC structure.

The types in a structured buffer describe the structure of the elements in the buffer. The layout of these types generally match their C++ struct counterparts. The following examples show structured buffers:

struct mystruct {float4 val; uint ind;}; RWStructuredBuffer<mystruct> rwbuf;
                                         RWStructuredBuffer<float3> rwbuf2;

Requirements

   
Header d3dcommon.h

See Also

Common Version Enumerations