ID3D11ShaderReflection interface (d3d11shader.h)

A shader-reflection interface accesses shader information.

Inheritance

The ID3D11ShaderReflection interface inherits from the IUnknown interface. ID3D11ShaderReflection also has these types of members:

Methods

The ID3D11ShaderReflection interface has these methods.

 
ID3D11ShaderReflection::GetBitwiseInstructionCount

Gets the number of bitwise instructions. (ID3D11ShaderReflection.GetBitwiseInstructionCount)
ID3D11ShaderReflection::GetConstantBufferByIndex

The ID3D11ShaderReflection::GetConstantBufferByIndex (d3d11shader.h) method gets a constant buffer by index.
ID3D11ShaderReflection::GetConstantBufferByName

Get a constant buffer by name. (ID3D11ShaderReflection.GetConstantBufferByName)
ID3D11ShaderReflection::GetConversionInstructionCount

Gets the number of conversion instructions. (ID3D11ShaderReflection.GetConversionInstructionCount)
ID3D11ShaderReflection::GetDesc

Get a shader description. (ID3D11ShaderReflection.GetDesc)
ID3D11ShaderReflection::GetGSInputPrimitive

Gets the geometry-shader input-primitive description. (ID3D11ShaderReflection.GetGSInputPrimitive)
ID3D11ShaderReflection::GetInputParameterDesc

Get an input-parameter description for a shader. (ID3D11ShaderReflection.GetInputParameterDesc)
ID3D11ShaderReflection::GetMinFeatureLevel

Gets the minimum feature level. (ID3D11ShaderReflection.GetMinFeatureLevel)
ID3D11ShaderReflection::GetMovcInstructionCount

Gets the number of Movc instructions. (ID3D11ShaderReflection.GetMovcInstructionCount)
ID3D11ShaderReflection::GetMovInstructionCount

Gets the number of Mov instructions. (ID3D11ShaderReflection.GetMovInstructionCount)
ID3D11ShaderReflection::GetNumInterfaceSlots

Gets the number of interface slots in a shader. (ID3D11ShaderReflection.GetNumInterfaceSlots)
ID3D11ShaderReflection::GetOutputParameterDesc

Get an output-parameter description for a shader. (ID3D11ShaderReflection.GetOutputParameterDesc)
ID3D11ShaderReflection::GetPatchConstantParameterDesc

Get a patch-constant parameter description for a shader.
ID3D11ShaderReflection::GetRequiresFlags

Gets a group of flags that indicates the requirements of a shader. (ID3D11ShaderReflection.GetRequiresFlags)
ID3D11ShaderReflection::GetResourceBindingDesc

Get a description of how a resource is bound to a shader. (ID3D11ShaderReflection.GetResourceBindingDesc)
ID3D11ShaderReflection::GetResourceBindingDescByName

Get a description of how a resource is bound to a shader. (ID3D11ShaderReflection.GetResourceBindingDescByName)
ID3D11ShaderReflection::GetThreadGroupSize

Retrieves the sizes, in units of threads, of the X, Y, and Z dimensions of the shader's thread-group grid. (ID3D11ShaderReflection.GetThreadGroupSize)
ID3D11ShaderReflection::GetVariableByName

Gets a variable by name. (ID3D11ShaderReflection.GetVariableByName)
ID3D11ShaderReflection::IsSampleFrequencyShader

Indicates whether a shader is a sample frequency shader. (ID3D11ShaderReflection.IsSampleFrequencyShader)

Remarks

An ID3D11ShaderReflection interface can be retrieved for a shader by using D3DReflect. The following code illustrates retrieving a ID3D11ShaderReflection from a shader.

pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
                               pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );

ID3D11ShaderReflection* pReflector = NULL; 
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            IID_ID3D11ShaderReflection, (void**) &pReflector);

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps | UWP apps]
Minimum supported server Windows Server 2008 R2 [desktop apps | UWP apps]
Target Platform Windows
Header d3d11shader.h

See also

IUnknown

Shader Interfaces