[This documentation is preliminary and is subject to change.]
A function-linking-graph interface is used for constructing shaders that consist of a sequence of precompiled function calls that pass values to each other .
To get a function-linking-graph interface, call
You can use the function-linking-graph (FLG) interface methods to construct shaders that consist of a sequence of precompiled function calls that pass values to each other. You don't need to write HLSL and then call the HLSL compiler. Instead, the shader structure is specified programmatically via a C++ API. FLG nodes represent input and output signatures and invocations of precompiled library functions. The order of registering the function-call nodes defines the sequence of invocations. You must specify the input signature node first and the output signature node last. FLG edges define how values are passed from one node to another. The data types of passed values must be the same; there is no implicit type conversion. Shape and swizzling rules follow the HLSL behavior. Values can only be passed forward in this sequence.
A function-linking-graph interface is used for constructing shaders that consist of a sequence of precompiled function calls that pass values to each other.
Note??This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?To get a function-linking-graph interface, call
You can use the function-linking-graph (FLG) interface methods to construct shaders that consist of a sequence of precompiled function calls that pass values to each other. You don't need to write HLSL and then call the HLSL compiler. Instead, the shader structure is specified programmatically via a C++ API. FLG nodes represent input and output signatures and invocations of precompiled library functions. The order of registering the function-call nodes defines the sequence of invocations. You must specify the input signature node first and the output signature node last. FLG edges define how values are passed from one node to another. The data types of passed values must be the same; there is no implicit type conversion. Shape and swizzling rules follow the HLSL behavior. Values can only be passed forward in this sequence.
Note??[This documentation is preliminary and is subject to change.]
Sets the input signature of the function-linking-graph.
An array of
A reference to the
[This documentation is preliminary and is subject to change.]
Sets the output signature of the function-linking-graph.
An array of
A reference to the
[This documentation is preliminary and is subject to change.]
Initializes a shader module from the function-linking-graph object.
A reference to an
[This documentation is preliminary and is subject to change.]
Creates a call-function linking node to use in the function-linking-graph.
A reference to the
The name of the function.
A reference to a variable that receives a reference to the
[This documentation is preliminary and is subject to change.]
Passes the return value from a source linking node to a destination linking node.
A reference to the
A reference to the
The zero-based index of the destination parameter.
Returns
Gets the error from the last function call of the function-linking-graph.
Initializes a shader module from the function-linking-graph object.
The address of a reference to an
An optional reference to a variable that receives a reference to the ID3DBlob interface that you can use to access compiler error messages, or
Returns
Sets the input signature of the function-linking-graph.
An array of
The number of input parameters in the pInputParameters array.
A reference to a variable that receives a reference to the
Returns
Sets the output signature of the function-linking-graph.
An array of
The number of output parameters in the pOutputParameters array.
A reference to a variable that receives a reference to the
Returns
Creates a call-function linking node to use in the function-linking-graph.
The optional namespace for the function, or
A reference to the
The name of the function.
A reference to a variable that receives a reference to the
Passes a value from a source linking node to a destination linking node.
A reference to the
The zero-based index of the source parameter.
A reference to the
The zero-based index of the destination parameter.
Returns
Passes a value with swizzle from a source linking node to a destination linking node.
A reference to the
The zero-based index of the source parameter.
The name of the source swizzle.
A reference to the
The zero-based index of the destination parameter.
The name of the destination swizzle.
Returns
Gets the error from the last function call of the function-linking-graph.
An reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the error.
Returns
Generates Microsoft High Level Shader Language (HLSL) shader code that represents the function-linking-graph.
Reserved
An reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the HLSL shader source code that represents the function-linking-graph. You can compile this HLSL code, but first you must add code or include statements for the functions called in the function-linking-graph.
Returns
A function-reflection interface accesses function info.
Note??This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?To get a function-reflection interface, call
Returns all constant buffers provided by this function
All references to
Returns all function parameters
All references to
Gets a description of how a resource is bound to a function.
A zero-based resource index.
A reference to a
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDesc gets info about how one resource in the set is bound as an input to the shader. The ResourceIndex parameter specifies the index for the resource.
Gets a description of how a resource is bound to a function.
Resource name.
A reference to a
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDesc gets info about how one resource in the set is bound as an input to the shader. The ResourceIndex parameter specifies the index for the resource.
Fills the function descriptor structure for the function.
Fills the function descriptor structure for the function.
A reference to a
Returns one of the Direct3D 11 Return Codes.
Gets a constant buffer by index for a function.
Zero-based index.
A reference to a
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.
Gets a constant buffer by name for a function.
The constant-buffer name.
A reference to a
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.
Gets a description of how a resource is bound to a function.
A zero-based resource index.
A reference to a
Returns one of the Direct3D 11 Return Codes.
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDesc gets info about how one resource in the set is bound as an input to the shader. The ResourceIndex parameter specifies the index for the resource.
Gets a variable by name.
A reference to a string containing the variable name.
Returns a
Gets a description of how a resource is bound to a function.
The constant-buffer name of the resource.
A reference to a
Returns one of the Direct3D 11 Return Codes.
A shader consists of executable code (the compiled HLSL functions) and a set of resources that supply the shader with input data. GetResourceBindingDescByName gets info about how one resource in the set is bound as an input to the shader. The Name parameter specifies the name of the resource.
Gets the function parameter reflector.
The zero-based index of the function parameter reflector to retrieve.
A reference to a
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 geometry or hull shader input primitives.
The
The shader has not been initialized with an input primitive type.
Interpret the input primitive as a point.
Interpret the input primitive as a line.
Interpret the input primitive as a triangle.
Interpret the input primitive as a line with adjacency data.
Interpret the input primitive as a triangle with adjacency data.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Interpret the input primitive as a control point patch.
Indicates semantic flags for function parameters.
The parameter has no semantic flags.
Indicates an input parameter.
Indicates an output parameter.
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
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.
This value is reserved.
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 1D sampler.
The variable is a 2D sampler.
The variable is a 3D sampler.
The variable is a cube sampler.
The variable is a pixel shader.
The variable is a vertex shader.
The variable is a pixel fragment.
The variable is a vertex fragment.
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 an 8-byte FLOAT.
The variable is a 10-byte FLOAT.
The variable is a 16-byte FLOAT.
The variable is a 12-byte INT.
The variable is a 16-byte INT.
The variable is a 16-byte INT.
Indicates shader type.
Pixel shader.
Vertex shader.
Geometry shader.
Hull shader.
Domain shader.
Compute shader.
Indicates the end of the enumeration constants.
Strip flag options.
These flags are used by
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.
This parameter contains a stencil reference. See Shader Specified Stencil Reference Value.
This parameter contains inner input coverage data. See Conservative Rasterization.
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.
Reads a file that is on disk into memory.
A reference to a constant null-terminated string that contains the name of the file to read into memory.
A reference to a variable that receives a reference to the ID3DBlob interface that contains information that
Returns one of the Direct3D 11 return codes.
Writes a memory blob to a file on disk.
A reference to a ID3DBlob interface that contains the memory blob to write to the file that the pFileName parameter specifies.
A reference to a constant null-terminated string that contains the name of the file to which to write.
A Boolean value that specifies whether to overwrite information in the pFileName file. TRUE specifies to overwrite information and
Returns one of the Direct3D 11 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.
You can use this parameter for strings that specify error messages. If not used, set to
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 using a fx profile (for example, fx_4_0, fx_5_0, and so on),
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). For info about the targets that various profiles support, see Specifying Compiler Targets.
Flags defined by D3D compile constants.
Flags defined by D3D compile effect constants. When you compile a shader and not an effect file,
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the compiled code.
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access compiler error messages, or
Returns one of the Direct3D 11 return codes.
The difference between
Compiles Microsoft High Level Shader Language (HLSL) code into bytecode for a given target.
A reference to uncompiled shader data (ASCII HLSL code).
The size, in bytes, of the block of memory that pSrcData points to.
An optional reference to a constant null-terminated string containing the name that identifies the source data to use in error messages. If not used, set to
An optional array of
A reference to an
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((*)( )1)
A reference to a constant null-terminated string that contains the name of the shader entry point function where shader execution begins. When you compile an effect,
A reference to a constant null-terminated string that specifies the shader target or set of shader features to compile against. The shader target can be a shader model (for example, 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). For info about the targets that various profiles support, see Specifying Compiler Targets.
A combination of shader D3D compile constants that are combined by using a bitwise OR operation. The resulting value specifies how the compiler compiles the HLSL code.
A combination of effect D3D compile effect constants that are combined by using a bitwise OR operation. The resulting value specifies how the compiler compiles the effect. When you compile a shader and not an effect file,
A combination of the following flags that are combined by using a bitwise OR operation. The resulting value specifies how the compiler compiles the HLSL code.
Flag | Description |
---|---|
Merge unordered access view (UAV) slots in the secondary data that the pSecondaryData parameter points to. | |
Preserve template slots in the secondary data that the pSecondaryData parameter points to. | |
Require that templates in the secondary data that the pSecondaryData parameter points to match when the compiler compiles the HLSL code. |
?
If pSecondaryData is
A reference to secondary data. If you don't pass secondary data, set to
The size, in bytes, of the block of memory that pSecondaryData points to. If pSecondaryData is
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the compiled code.
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access compiler error messages, or
Returns one of the Direct3D 11 return codes.
The difference between
Compiles Microsoft High Level Shader Language (HLSL) code into bytecode for a given target.
Returns one of the Direct3D 11 return codes.
Preprocesses uncompiled HLSL code.
A reference to uncompiled shader data; either ASCII HLSL code or a compiled effect.
Length of pSrcData.
The name of the file that contains the uncompiled HLSL code.
An array of
A reference to an
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((*)( )1)
The address of a ID3DBlob that contains the compiled code.
A reference to an ID3DBlob that contains compiler error messages, or
Returns one of the Direct3D 11 return codes.
Gets shader debug information.
A reference to source data; either uncompiled or compiled HLSL code.
Length of pSrcData.
A reference to a buffer that receives the ID3DBlob interface that contains debug information.
Returns one of the Direct3D 11 return codes.
Debug information is embedded in the body of the shader after calling
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 Direct3D 11 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);
Creates a library-reflection interface from source data that contains an HLSL library of functions.
Note??This function is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?A reference to source data as an HLSL library of functions.
The size, in bytes, of the block of memory that pSrcData points to.
The reference
A reference to a variable that receives a reference to a library-reflection interface,
Returns
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. | |
Disable debug information. | |
Enable instruction offsets. | |
Disassemble instructions only. | |
| Use hex symbols in disassemblies. |
?
The comment string at the top of the shader that identifies the shader constants and variables.
A reference to a buffer that receives the ID3DBlob interface that accesses assembly text.
Returns one of the Direct3D 11 return codes.
Disassembles a specific region of compiled Microsoft High Level Shader Language (HLSL) code.
A reference to compiled shader data.
The size, in bytes, of the block of memory that pSrcData points to.
A combination of zero or more of the following flags that are combined by using a bitwise OR operation. The resulting value specifies how
Flag | Description |
---|---|
Enable the output of color codes. | |
Enable the output of default values. | |
Enable instruction numbering. | |
No effect. | |
Disable the output of debug information. | |
Enable the output of instruction offsets. | |
This flag has no effect in |
?
A reference to a constant null-terminated string at the top of the shader that identifies the shader constants and variables.
The number of bytes offset into the compiled shader data where
The number of instructions to disassemble.
A reference to a variable that receives the number of bytes offset into the compiled shader data where
A reference to a buffer that receives the ID3DBlob interface that accesses the disassembled HLSL code.
Returns one of the Direct3D 11 return codes.
Creates a linker interface.
Note??This function is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?A reference to a variable that receives a reference to the
Returns
Creates a shader module interface from source data for the shader module.
Note??This function is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?A reference to the source data for the shader module.
The size, in bytes, of the block of memory that pSrcData points to.
A reference to a variable that receives a reference to the
Returns
Creates a function-linking-graph interface.
Note??This function is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?Reserved
A reference to a variable that receives a reference to the
Returns
Retrieves the byte offsets for instructions within a section of shader code.
A reference to the compiled shader data.
The size, in bytes, of the block of memory that pSrcData points to.
A combination of the following flags that are combined by using a bitwise OR operation. The resulting value specifies how
Flag | Description |
---|---|
D3D_GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE (0x01) | Include non-executable code in the retrieved information. |
?
The index of the instruction in the compiled shader data for which
The number of instructions for which
A reference to a variable that receives the total number of instructions in the section of shader code.
A reference to a variable that receives the actual number of offsets.
A new kind of Microsoft High Level Shader Language (HLSL) debugging information from a program database (PDB) file uses instruction-byte offsets within a shader blob (arbitrary-length data buffer). You use
Gets the input signature from a compilation result.
Returns one of the Direct3D 11 return codes.
Gets the output signature from a compilation result.
Returns one of the Direct3D 11 return codes.
Gets the input and output signatures from a compilation result.
Returns one of the Direct3D 11 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 11 return codes.
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 Direct3D 11 return codes.
Sets information in a compilation result.
A reference to compiled shader data.
The length of the compiled shader data that pSrcData points to.
A
Flags that indicate how to set the blob part. Currently, no flags are defined; therefore, set to zero.
A reference to data to set in the compilation result.
The length of the data that pPart points to.
A reference to a buffer that receives the ID3DBlob interface for the new shader in which the new part data is set.
Returns one of the Direct3D 11 return codes.
Creates a buffer.
Number of bytes in the blob.
The address of a reference to the ID3DBlob interface that is used to retrieve the buffer.
Returns one of the Direct3D 11 return codes.
The latest D3dcompiler_nn.dll contains the
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 Direct3D 11 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 Direct3D 11 return codes.
This shader-reflection interface provides access to a constant buffer.
To create a constant-buffer interface, call
Get a constant-buffer description.
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
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.
A function-parameter-reflection interface accesses function-parameter info.
Note??This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.?To get a function-parameter-reflection interface, call
Fills the parameter descriptor structure for the function's parameter.
Fills the parameter descriptor structure for the function's parameter.
A reference to a
Returns one of the Direct3D 11 Return Codes.
To use this interface, create an interface that inherits from
A library-reflection interface accesses library info.
Note?? This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.? To get a library-reflection interface, call
Fills the library descriptor structure for the library reflection.
Fills the library descriptor structure for the library reflection.
A reference to a
Returns one of the Direct3D 11 Return Codes.
Gets the function reflector.
The zero-based index of the function reflector to retrieve.
A reference to a
Returns all function reflectors provided by this library
All references to
A linker interface is used to link a shader module.
Note?? This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.? To get a linker interface, call
[This documentation is preliminary and is subject to change.]
Links the shader and produces a shader blob that the Direct3D runtime can use.
Links the shader and produces a shader blob that the Direct3D runtime can use.
A reference to the
The name of the shader module instance to link from.
The name for the shader blob that is produced.
Reserved.
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access the compiled shader code.
A reference to a variable that receives a reference to the ID3DBlob interface that you can use to access compiler error messages.
Returns
Adds an instance of a library module to be used for linking.
A reference to the
Returns
Adds a clip plane with the plane coefficients taken from a cbuffer entry for 10Level9 shaders.
Returns
[This documentation is preliminary and is subject to change.]
Links the shader and produces a shader blob that the Direct3D runtime can use.
A reference to the
The name of the shader module instance to link from.
The name for the shader blob that is produced.
Reserved
Returns the compiled
A linking-node interface is used for shader linking.
Note?? This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.? To get a linking-node interface, call
A module interface creates an instance of a module that is used for resource rebinding.
Note?? This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.? To get a module interface, call
[This documentation is preliminary and is subject to change.]
Initializes an instance of a shader module that is used for resource rebinding.
Initializes an instance of a shader module that is used for resource rebinding.
The name of a shader module to initialize. This can be
The address of a reference to an
Returns
A module-instance interface is used for resource rebinding.
Note?? This interface is part of the HLSL shader linking technology that you can use on all Direct3D?11 platforms to create precompiled HLSL functions, package them into libraries, and link them into full shaders at run time.? To get a module-instance interface, call
[This documentation is preliminary and is subject to change.]
Rebinds a resource by name as an unordered access view (UAV) to destination slots.
Rebinds a constant buffer from a source slot to a destination slot.
The source slot number for rebinding.
The destination slot number for rebinding.
The offset in bytes of the destination slot for rebinding. The offset must have 16-byte alignment.
Returns:
Rebinds a constant buffer by name to a destination slot.
The name of the constant buffer for rebinding.
The destination slot number for rebinding.
The offset in bytes of the destination slot for rebinding. The offset must have 16-byte alignment.
Returns:
Rebinds a texture or buffer from source slot to destination slot.
The first source slot number for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds a texture or buffer by name to destination slots.
The name of the texture or buffer for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds a sampler from source slot to destination slot.
The first source slot number for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds a sampler by name to destination slots.
The name of the sampler for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds an unordered access view (UAV) from source slot to destination slot.
The first source slot number for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds an unordered access view (UAV) by name to destination slots.
The name of the UAV for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds a resource as an unordered access view (UAV) from source slot to destination slot.
The first source slot number for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
Rebinds a resource by name as an unordered access view (UAV) to destination slots.
The name of the resource for rebinding.
The first destination slot number for rebinding.
The number of slots for rebinding.
Returns:
The address of a reference to an
The name of a shader module to initialize. This can be
The address of a reference to an
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.
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.
Gets a group of flags that indicates the requirements of a shader.
Here is how the D3D11Shader.h header defines the shader requirements flags:
#define0x00000001 #define 0x00000002 #define 0x00000004 #define 0x00000008 #define 0x00000010 #define 0x00000020 #define 0x00000040 #define 0x00000080
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
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 units of threads, of the X, Y, and Z dimensions of the shader's thread-group grid.
A reference to the size, in threads, of the x-dimension of the thread-group grid. The maximum size is 1024.
A reference to the size, in threads, of the y-dimension of the thread-group grid. The maximum size is 1024.
A reference to the size, in threads, of the z-dimension of the thread-group grid. The maximum size is 64.
Returns the total size, in threads, of the thread-group grid by calculating the product of the size of each dimension.
*pSizeX * *pSizeY * *pSizeZ;
This method's interface is hosted in the out-of-box DLL D3DCompiler_xx.dll.
When a compute shader is written it defines the actions of a single thread group only. If multiple thread groups are required, it is the role of the
Gets a group of flags that indicates the requirements of a shader.
A value that contains a combination of one or more shader requirements flags; each flag specifies a requirement of the shader. A default value of 0 means there are no requirements.
Shader requirement flag | Description |
---|---|
Shader requires that the graphics driver and hardware support double data type. For more info, see | |
Shader requires an early depth stencil. | |
Shader requires unordered access views (UAVs) at every pipeline stage. | |
Shader requires 64 UAVs. | |
Shader requires the graphics driver and hardware to support minimum precision. For more info, see Using HLSL minimum precision. | |
Shader requires that the graphics driver and hardware support extended doubles instructions. For more info, see the ExtendedDoublesShaderInstructions member of | |
Shader requires that the graphics driver and hardware support the msad4 intrinsic function in shaders. For more info, see the SAD4ShaderInstructions member of | |
Shader requires that the graphics driver and hardware support Direct3D 9 shadow support. For more info, see | |
Shader requires that the graphics driver and hardware support tiled resources. For more info, see GetResourceTiling. |
?
Here is how the D3D11Shader.h header defines the shader requirements flags:
#define0x00000001 #define 0x00000002 #define 0x00000004 #define 0x00000008 #define 0x00000010 #define 0x00000020 #define 0x00000040 #define 0x00000080
Get an interface by index.
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.
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.
Gets the corresponding interface slot for a variable that represents an interface reference.
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.
This method returns the buffer of the current
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.
This method returns the buffer of the current
Returns a reference to the
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.
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.
A
The number of unique variables.
Buffer size (in bytes).
A combination of
Describes a function.
The shader version.
The name of the originator of the function.
A combination of D3DCOMPILE Constants that are combined by using a bitwise OR operation. The resulting value specifies shader compilation and parsing.
The number of constant buffers for the function.
The number of bound resources for the function.
The number of emitted instructions for the function.
The number of temporary registers used by the function.
The number of temporary arrays used by the function.
The number of constant defines for the function.
The number of declarations (input + output) for the function.
The number of non-categorized texture instructions for the function.
The number of texture load instructions for the function.
The number of texture comparison instructions for the function.
The number of texture bias instructions for the function.
The number of texture gradient instructions for the function.
The number of floating point arithmetic instructions used by the function.
The number of signed integer arithmetic instructions used by the function.
The number of unsigned integer arithmetic instructions used by the function.
The number of static flow control instructions used by the function.
The number of dynamic flow control instructions used by the function.
The number of macro instructions used by the function.
The number of array instructions used by the function.
The number of mov instructions used by the function.
The number of movc instructions used by the function.
The number of type conversion instructions used by the function.
The number of bitwise arithmetic instructions used by the function.
A
A value that contains a combination of one or more shader requirements flags; each flag specifies a requirement of the shader. A default value of 0 means there are no requirements. For a list of values, see
The name of the function.
The number of logical parameters in the function signature, not including the return value.
Indicates whether the function returns a value. TRUE indicates it returns a value; otherwise,
Indicates whether there is a Direct3D 10Level9 vertex shader blob. TRUE indicates there is a 10Level9 vertex shader blob; otherwise,
Indicates whether there is a Direct3D 10Level9 pixel shader blob. TRUE indicates there is a 10Level9 pixel shader blob; otherwise,
Describes how a shader resource is bound to a shader input.
Get a shader-input-signature description by calling
Name of the shader resource.
A
Starting bind point.
Number of contiguous bind points for arrays.
A combination of
If the input is a texture, the
A
The number of samples for a multisampled texture; when a texture isn't multisampled, the value is set to -1 (0xFFFFFFFF).
Describes a library.
The name of the originator of the library.
A combination of D3DCOMPILE Constants that are combined by using a bitwise OR operation. The resulting value specifies how the compiler compiles.
The number of functions exported from the library.
Describes a function parameter.
Get a function-parameter description by calling
The name of the function parameter.
The HLSL semantic that is associated with this function parameter. This name includes the index, for example, SV_Target[n].
A
A
The number of rows for a matrix parameter.
The number of columns for a matrix parameter.
A
A combination of
The first input register for this parameter.
The first input register component for this parameter.
The first output register for this parameter.
The first output register component for this parameter.
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
Geometry shader maximum output vertex count.
The
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
The
The
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. For more info, see Semantics.
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
A
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.
A
Describes a shader-variable type.
Get a shader-variable-type description by calling
A
A
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. Can be 0 if not a structure member.
Name of the shader-variable type. This member can be
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.
Offset from the start of the variable to the beginning of the texture.
The size of the texture, in bytes.
Offset from the start of the variable to the beginning of the sampler.
The size of the sampler, in bytes.