Retrieves a specific part from a compilation result.
A reference to uncompiled shader data; either ASCII HLSL code or a compiled effect.
Length of uncompiled shader data that pSrcData points to.
A
Flags that indicate how to retrieve the blob part. Currently, no flags are defined.
The address of a reference to the ID3DBlob interface that is used to retrieve the specified part of the buffer.
Returns one of the following Direct3D 10 Return Codes.
Decompresses one or more shaders from a compressed set.
A reference to uncompiled shader data; either ASCII HLSL code or a compiled effect.
Length of uncompiled shader data that pSrcData points to.
The number of shaders to decompress.
The index of the first shader to decompress.
An array of indexes that represent the shaders to decompress.
Flags that indicate how to decompress. Currently, no flags are defined.
The address of a reference to the ID3DBlob interface that is used to retrieve the decompressed shader data.
A reference to a variable that receives the total number of shaders that
Returns one of the following Direct3D 10 Return Codes.
Disassembles compiled HLSL code.
A reference to source data as compiled HLSL code.
Length of pSrcData.
Flags affecting the behavior of
Flag | Description |
---|---|
Enable the output of color codes. | |
Enable the output of default values. | |
Enable instruction numbering. | |
No effect. |
?
The optional comment string at the top of the shader that identifies the shader constants and variables.
A reference to a buffer that receives the
Returns one of the following Direct3D 10 Return Codes.
Compile HLSL code or an effect file into bytecode for a given target.
A reference to uncompiled shader data; either ASCII HLSL code or a compiled effect.
Length of pSrcData.
Optional. You can use this parameter for strings that specify error messages. If not used, set to
Optional. An array of
Optional. A reference to an
#define D3D_COMPILE_STANDARD_FILE_INCLUDE (( *)( )1)
The name of the shader entry point function where shader execution begins. When you compile an effect,
A string that specifies the shader target or set of shader features to compile against. The shader target can be shader model 2, shader model 3, shader model 4, or shader model 5. The target can also be an effect type (for example, fx_4_1).
Shader compile options.
Effect compile options. When you compile a shader and not an effect file,
The address of a ID3DBlob that contains the compiled code.
Optional. A reference to an ID3DBlob that contains compiler error messages, or
Returns one of the Direct3D 10 Return Codes.
Removes unwanted blobs from a compilation result.
A reference to source data as compiled HLSL code.
Length of pSrcData.
Strip flag options, represented by
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the unwanted stripped out shader code.
Returns one of the Direct3D 10 Return Codes.
Preprocesses uncompiled HLSL code.
A reference to uncompiled shader data; either ASCII HLSL code or a compiled effect.
Length of pSrcData.
Optional. The name of the file that contains the uncompiled HLSL code.
Optional. An array of
Optional. A reference to an
#define D3D_COMPILE_STANDARD_FILE_INCLUDE (( *)( )1)
The address of a ID3DBlob that contains the compiled code.
Optional. A reference to an ID3DBlob that contains compiler error messages, or
Returns one of the Direct3D 10 Return Codes.
Compresses a set of shaders into a more compact form.
The number of shaders to compress.
An array of
Flags that indicate how to compress the shaders. Currently, only the D3D_COMPRESS_SHADER_KEEP_ALL_PARTS (0x00000001) flag is defined.
The address of a reference to the ID3DBlob interface that is used to retrieve the compressed shader data.
Returns one of the following Direct3D 10 Return Codes.
Gets a reference to a reflection interface.
A reference to source data as compiled HLSL code.
Length of pSrcData.
The reference
A reference to a reflection interface.
Returns one of the following Direct3D 10 Return Codes.
Shader code contains metadata that can be inspected using the reflection APIs.
The following code illustrates retrieving a
pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader ); * pReflector = null ;
( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), IID_ID3D11ShaderReflection, (void**) &pReflector);
Gets the input signature from a compilation result.
A reference to source data as compiled HLSL code.
Length of pSrcData.
Optional. A reference to an
Returns one of the following Direct3D 10 Return Codes.
Gets the input and output signatures from a compilation result.
A reference to source data as compiled HLSL code.
Length of pSrcData.
Optional. A reference to an
Returns one of the following Direct3D 10 Return Codes.
Gets the output signature from a compilation result.
A reference to source data as compiled HLSL code.
Length of pSrcData.
Optional. A reference to an
Returns one of the following Direct3D 10 Return Codes.
Gets shader debug information.
A reference to source data; either uncompiled or compiled HLSL code.
Length of pSrcData.
Optional. A reference to an
Returns one of the following Direct3D 10 Return Codes.
Debug information is embedded in the body of the shader after calling
Values that identify the indended use of a constant-data buffer.
Bind the constant buffer to an input slot defined in HLSL code (instead of letting the compiler choose the input slot).
Values that identify the intended use of constant-buffer data.
A buffer containing scalar constants.
A buffer containing texture data.
A buffer containing interface references.
A buffer containing binding information.
Values that indicate the location of a shader #include file.
You pass a
The local directory.
The system directory.
Values that indicate how the pipeline interprets vertex data that is bound to the input-assembler stage. These primitive topology values determine how the vertex data is rendered on screen.
Use the
The following diagram shows the various primitive types for a geometry shader object.
Values that identify the data types that can be stored in a register.
A register component type is specified in the ComponentType member of the
The data type is unknown.
32-bit unsigned integer.
32-bit signed integer.
32-bit floating-point number.
Values that identify the return type of a resource.
A resource return type is specified in the ReturnType member of the
Return type is an unsigned integer value normalized to a value between 0 and 1.
Return type is a signed integer value normalized to a value between -1 and 1.
Return type is a signed integer.
Return type is an unsigned integer.
Return type is a floating-point number.
Return type is unknown.
Return type is a double-precision value.
Return type is a multiple-dword type, such as a double or uint64, and the component is continued from the previous component that was declared. The first component represents the lower bits.
Values that identify parts of the content of an arbitrary length data buffer.
These values are passed to the
The blob part is an input signature.
The blob part is an output signature.
The blob part is an input and output signature.
The blob part is a patch constant signature.
The blob part is all signature.
The blob part is debug information.
The blob part is a legacy shader.
The blob part is an XNA prepass shader.
The blob part is an XNA shader.
The blob part is a test alternate shader.
Note??This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.
The blob part is test compilation details.
Note??This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.
The blob part is test compilation performance.
Note??This value identifies a test part and is only produced by special compiler versions. Therefore, this part type is typically not present in shaders.
Values that identify shader-input options.
Assign a shader input to a register based on the register assignment in the HLSL code (instead of letting the compiler choose the register).
Use a comparison sampler, which uses the SampleCmp (DirectX HLSL Texture Object) and SampleCmpLevelZero (DirectX HLSL Texture Object) sampling functions.
A 2-bit value for encoding texture components.
A 2-bit value for encoding texture components.
A 2-bit value for encoding texture components.
Values that identify resource types that can be bound to a shader and that are reflected as part of the resource description for the shader.
The shader resource is a constant buffer.
The shader resource is a texture buffer.
The shader resource is a texture.
The shader resource is a sampler.
The shader resource is a read-and-write buffer.
The shader resource is a structured buffer.
For more information about structured buffer, see the Remarks section.
The shader resource is a read-and-write structured buffer.
The shader resource is a byte-address buffer.
The shader resource is a read-and-write byte-address buffer.
The shader resource is an append-structured buffer.
The shader resource is a consume-structured buffer.
The shader resource is a read-and-write structured buffer that uses the built-in counter to append or consume.
Values that identify the class of a shader variable.
The class of a shader variable is not a programming class; the class identifies the variable class such as scalar, vector, object, and so on.
The shader variable is a scalar.
The shader variable is a vector.
The shader variable is a row-major matrix.
The shader variable is a column-major matrix.
The shader variable is an object.
The shader variable is a structure.
The shader variable is a class.
The shader variable is an interface.
Values that identify information about a shader variable.
A call to the
Indicates that the registers assigned to this shader variable were explicitly declared in shader code (instead of automatically assigned by the compiler).
Indicates that this variable is used by this shader. This value confirms that a particular shader variable (which can be common to many different shaders) is indeed used by a particular shader.
Indicates that this variable is an interface.
Indicates that this variable is a parameter of an interface.
Values that identify various data, texture, and buffer types that can be assigned to a shader variable.
A call to the
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;
The variable is a void reference.
The variable is a boolean.
The variable is an integer.
The variable is a floating-point number.
The variable is a string.
The variable is a texture.
The variable is a 1D texture.
The variable is a 2D texture.
The variable is a 3D texture.
The variable is a texture cube.
The variable is a sampler.
The variable is a pixel shader.
The variable is a vertex shader.
The variable is an unsigned integer.
The variable is an 8-bit unsigned integer.
The variable is a geometry shader.
The variable is a rasterizer-state object.
The variable is a depth-stencil-state object.
The variable is a blend-state object.
The variable is a buffer.
The variable is a constant buffer.
The variable is a texture buffer.
The variable is a 1D-texture array.
The variable is a 2D-texture array.
The variable is a render-target view.
The variable is a depth-stencil view.
The variable is a 2D-multisampled texture.
The variable is a 2D-multisampled-texture array.
The variable is a texture-cube array.
The variable holds a compiled hull-shader binary.
The variable holds a compiled domain-shader binary.
The variable is an interface.
The variable holds a compiled compute-shader binary.
The variable is a double precision (64-bit) floating-point number.
The variable is a 1D read-and-write texture.
The variable is an array of 1D read-and-write textures.
The variable is a 2D read-and-write texture.
The variable is an array of 2D read-and-write textures.
The variable is a 3D read-and-write texture.
The variable is a read-and-write buffer.
The variable is a byte-address buffer.
The variable is a read-and-write byte-address buffer.
The variable is a structured buffer.
For more information about structured buffer, see the Remarks section.
The variable is a read-and-write structured buffer.
The variable is an append structured buffer.
The variable is a consume structured buffer.
The variable is a void reference.
The variable is a boolean.
The variable is an integer.
The variable is a floating-point number.
The variable is a string.
The variable is a texture.
Indicates shader type.
Pixel shader.
Vertex shader.
Geometry shader.
Hull shader.
Domain shader.
Compute shader.
Strip flag options.
These flags are used by
Remove reflection data.
Remove debug information.
Remove test blob data.
Values that identify shader parameters that use system-value semantics.
The
This parameter does not use a predefined system-value semantic.
This parameter contains position data.
This parameter contains clip-distance data.
This parameter contains cull-distance data.
This parameter contains a render-target-array index.
This parameter contains a viewport-array index.
This parameter contains a vertex ID.
This parameter contains a primitive ID.
This parameter contains an instance ID.
This parameter contains data that identifies whether or not the primitive faces the camera.
This parameter contains a sampler-array index.
This parameter contains one of four tessellation factors that correspond to the amount of parts that a quad patch is broken into along the given edge. This flag is used to tessellate a quad patch.
This parameter contains one of two tessellation factors that correspond to the amount of parts that a quad patch is broken into vertically and horizontally within the patch. This flag is used to tessellate a quad patch.
This parameter contains one of three tessellation factors that correspond to the amount of parts that a tri patch is broken into along the given edge. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the amount of parts that a tri patch is broken into within the patch. This flag is used to tessellate a tri patch.
This parameter contains the tessellation factor that corresponds to the number of lines broken into within the patch. This flag is used to tessellate an isolines patch.
This parameter contains the tessellation factor that corresponds to the number of lines that are created within the patch. This flag is used to tessellate an isolines patch.
This parameter contains render-target data.
This parameter contains depth data.
This parameter contains alpha-coverage data.
This parameter signifies that the value is greater than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
This parameter signifies that the value is less than or equal to a reference value. This flag is used to specify conservative depth for a pixel shader.
Values that identify domain options for tessellator data.
The data domain defines the type of data. This enumeration is used by
The data type is undefined.
Isoline data.
Triangle data.
Quad data.
Values that identify output primitive types.
The output primitive type determines how the tessellator output data is organized; this enumeration is used by
The output primitive type is undefined.
The output primitive type is a point.
The output primitive type is a line.
The output primitive type is a clockwise triangle.
The output primitive type is a counter clockwise triangle.
Values that identify partitioning options.
During tessellation, the partition option helps to determine how the algorithm chooses the next partition value; this enumeration is used by
The partitioning type is undefined.
Partition with integers only.
Partition with a power-of-two number only.
Partition with an odd, fractional number.
Partition with an even, fractional number.
This shader-reflection interface provides access to a constant buffer.
To create a constant-buffer interface, call
Get a constant-buffer description.
A reference to a
Returns one of the following Direct3D 11 Return Codes.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-reflection variable by index.
Zero-based index.
A reference to a shader-reflection variable interface (see
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-reflection variable by name.
Variable name.
Returns a sentinel object (end of list marker). To determine if GetVariableByName successfully completed, call
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a constant-buffer description.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
To use this interface, create an interface that inherits from
A shader-reflection interface accesses shader information.
An
pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader ); * pReflector = null ;
( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), IID_ID3D11ShaderReflection, (void**) &pReflector);
Get a shader description.
A reference to a shader description. See
Returns one of the following Direct3D 11 Return Codes.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a constant buffer by index.
Zero-based index.
A reference to a constant buffer (see
A constant buffer supplies either scalar constants or texture constants to a shader. A shader can use one or more constant buffers. For best performance, separate constants into buffers based on the frequency they are updated.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a constant buffer by name.
The constant-buffer name.
A reference to a constant buffer (see
A constant buffer supplies either scalar constants or texture constants to a shader. A shader can use one or more constant buffers. For best performance, separate constants into buffers based on the frequency they are updated.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a description of how a resource is bound to a shader.
A zero-based resource index.
A reference to an input-binding description. See
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDesc gets information about how one resource in the set is bound as an input to the shader. The ResourceIndex parameter specifies the index for the resource.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get an input-parameter description for a shader.
A zero-based parameter index.
A reference to a shader-input-signature description. See
An input-parameter description is also called a shader signature. The shader signature contains information about the input parameters such as the order or parameters, their data type, and a parameter semantic.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get an output-parameter description for a shader.
A zero-based parameter index.
A reference to a shader-output-parameter description. See
An output-parameter description is also called a shader signature. The shader signature contains information about the output parameters such as the order or parameters, their data type, and a parameter semantic.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a patch-constant parameter description for a shader.
A zero-based parameter index.
A reference to a shader-input-signature description. See
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets a variable by name.
A reference to a string containing the variable name.
Returns a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a description of how a resource is bound to a shader.
The constant-buffer name of the resource.
A reference to an input-binding description. See
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDescByName gets information about how one resource in the set is bound as an input to the shader. The Name parameter specifies the name of the resource.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of Mov instructions.
Returns the number of Mov instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of Movc instructions.
Returns the number of Movc instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of conversion instructions.
Returns the number of conversion instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of bitwise instructions.
The number of bitwise instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the geometry-shader input-primitive description.
The input-primitive description, see D3D10_PRIMITIVE_TOPOLOGY.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Indicates whether a shader is a sample frequency shader.
Returns true if the shader is a sample frequency shader; otherwise returns false.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of interface slots in a shader.
The number of interface slots in the shader.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the minimum feature level.
A reference to one of the enumerated values in
Returns one of the following Direct3D 11 Return Codes.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Retrieves the sizes, in thread groups, of the X, Y, and Z dimensions of the shader's thread-group grid.
A reference to the size, in thread groups, of the x-dimension of the thread-group grid. The maximum size is 65535.
A reference to the size, in thread groups, of the y-dimension of the thread-group grid. The maximum size is 65535.
A reference to the size, in thread groups, of the z-dimension of the thread-group grid. The maximum size is 65535.
Returns one of the following Direct3D 11 Return Codes.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader description.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of Mov instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of Movc instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of conversion instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of bitwise instructions.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the geometry-shader input-primitive description.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Indicates whether a shader is a sample frequency shader.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of interface slots in a shader.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the minimum feature level.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
This shader-reflection interface provides access to variable type.
The get a shader-reflection-type interface, call
Get the description of a shader-reflection-variable type.
A reference to a shader-type description (see
Returns one of the following Direct3D 11 Return Codes.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-reflection-variable type by index.
Zero-based index.
A reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-reflection-variable type by name.
Member name.
A reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-reflection-variable type.
Zero-based index.
The variable type.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Indicates whether two
Returns
IsEqual indicates whether the sources of the
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the base class of a class.
Returns a reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets an
Returns A reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of interfaces.
Returns the number of interfaces.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get an interface by index.
Zero-based index.
A reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Indicates whether a variable is of the specified type.
A reference to a
Returns
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Indicates whether a class type implements an interface.
A reference to a
Returns
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get the description of a shader-reflection-variable type.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the base class of a class.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets an
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the number of interfaces.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
This shader-reflection interface provides access to a variable.
To get a shader-reflection-variable interface, call a method like
Get a shader-variable description.
A reference to a shader-variable description (see
Returns one of the following Direct3D 11 Return Codes.
This method can be used to determine if the
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-variable type.
A reference to a
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Gets the corresponding interface slot for a variable that represents an interface reference.
Index of the array element to get the slot number for. For a non-array variable this value will be zero.
Returns the index of the interface in the interface array.
GetInterfaceSlot gets the corresponding slot in an dynamic linkage array for an interface instance. The returned slot number is used to set an interface instance to a particular class instance. See the HLSL Interfaces and Classes overview for additional information.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Get a shader-variable description.
This method can be used to determine if the
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
Describes a shader constant-buffer.
Constants are supplied to shaders in a shader-constant buffer. Get the description of a shader-constant-buffer by calling
The name of the buffer.
The intended use of the constant data.
The number of unique variables.
Buffer size (in bytes).
Shader buffer properties.
Describes how a shader resource is bound to a shader input.
Get a shader-input-signature description by calling
Name of the shader resource.
Identifies the type of data in the resource. See D3D10_SHADER_INPUT_TYPE.
Starting bind point.
Number of contiguous bind points for arrays.
Shader input-parameter options. See D3D10_SHADER_INPUT_FLAGS.
If the input is a texture, the return type. See D3D11_RESOURCE_RETURN_TYPE.
Identifies the dimensions of the bound resource. For a list of values that
The number of samples for a multisampled texture; otherwise 0.
Describes shader data.
An array of
A reference to shader data.
Length of shader data that pBytecode points to.
Describes a shader.
A shader is written in HLSL and compiled into an intermediate language by the HLSL compiler. The shader description returns information about the compiled shader. Get a shader description by calling
Shader version.
The name of the originator of the shader.
Shader compilation/parse flags.
The number of shader-constant buffers.
The number of resource (textures and buffers) bound to a shader.
The number of parameters in the input signature.
The number of parameters in the output signature.
The number of intermediate-language instructions in the compiled shader.
The number of temporary registers in the compiled shader.
Number of temporary arrays used.
Number of constant defines.
Number of declarations (input + output).
Number of non-categorized texture instructions.
Number of texture load instructions
Number of texture comparison instructions
Number of texture bias instructions
Number of texture gradient instructions.
Number of floating point arithmetic instructions used.
Number of signed integer arithmetic instructions used.
Number of unsigned integer arithmetic instructions used.
Number of static flow control instructions used.
Number of dynamic flow control instructions used.
Number of macro instructions used.
Number of array instructions used.
Number of cut instructions used.
Number of emit instructions used.
The D3D10_PRIMITIVE_TOPOLOGY, which represents the shader output topology.
Geometry shader maximum output vertex count.
The D3D11_PRIMITIVE-typed value that represents the input primitive for a geometry shader or hull shader.
Number of parameters in the patch-constant signature.
Number of geometry shader instances.
Number of control points in the hull shader and domain shader.
The D3D11_TESSELLATOR_OUTPUT_PRIMITIVE, which represents the tessellator output-primitive type.
The D3D11_TESSELLATOR_PARTITIONING, which represents the tessellator partitioning mode.
The D3D11_TESSELLATOR_DOMAIN, which represents the tessellator domain.
Number of barrier instructions in a compute shader.
Number of interlocked instructions in a compute shader.
Number of texture writes in a compute shader.
Describes a shader signature.
A shader can take n inputs and can produce m outputs. The order of the input (or output) parameters, their associated types, and any attached semantics make up the shader signature. Each shader has an input and an output signature.
When compiling a shader or an effect, some API calls validate shader signatures That is, they compare the output signature of one shader (like a vertex shader) with the input signature of another shader (like a pixel shader). This ensures that a shader outputs data that is compatible with a downstream shader that is consuming that data. Compatible means that a shader signature is a exact-match subset of the preceding shader stage. Exact match means parameter types and semantics must exactly match. Subset means that a parameter that is not required by a downstream stage, does not need to include that parameter in its shader signature.
Get a shader-signature from a shader or an effect by calling APIs such as
A per-parameter string that identifies how the data will be used.
Semantic index that modifies the semantic. Used to differentiate different parameters that use the same semantic.
The register that will contain this variable's data.
A predefined string that determines the functionality of certain pipeline stages. See D3D10_NAME.
The per-component-data type that is stored in a register. See D3D10_REGISTER_COMPONENT_TYPE. Each register can store up to four-components of data.
Mask which indicates which components of a register are used.
Mask which indicates whether a given component is never written (if the signature is an output signature) or always read (if the signature is an input signature).
Indicates which stream the geometry shader is using for the signature parameter.
Describes a shader-variable type.
Get a shader-variable-type description by calling
Identifies the variable class as one of scalar, vector, matrix or object. See D3D10_SHADER_VARIABLE_CLASS.
The variable type. See D3D10_SHADER_VARIABLE_TYPE.
Number of rows in a matrix. Otherwise a numeric type returns 1, any other type returns 0.
Number of columns in a matrix. Otherwise a numeric type returns 1, any other type returns 0.
Number of elements in an array; otherwise 0.
Number of members in the structure; otherwise 0.
Offset, in bytes, between the start of the parent structure and this variable.
Describes a shader variable.
Get a shader-variable description using reflection by calling
As of the June 2010 update, DefaultValue emits default values for reflection.
The variable name.
Offset from the start of the parent structure to the beginning of the variable.
Size of the variable (in bytes).
A combination of
The default value for initializing the variable.