Home -> IGraphicsDevice -> ShaderLimits

Description

The ShaderLimits structure reports information on limits an IGraphicsDevice object has which relate to shaders, as returned by the GetShaderLimits method.

Members

Name Type Description
Public member maxVertexShaderInputAttributes uint32_t
Reports the maximum number of vertex attributes which can be bound to a single IRenderableNode object, taking the combined sum of attributes bound with BindVertexAttribute and BindVertexInstanceAttribute. Note that unlike other values in this structure, this limit does refer to complete bound attributes, and does not count the individual components within each attribute separately.
Public member maxVertexShaderOutputComponents uint32_t
Reports the maximum number of individual components which can be output from a vertex shader. Note that where a vector type is being used, each discrete value within a vector counts as one component towards this total.
Public member maxGeometryShaderInputComponents uint32_t
Reports the maximum number of individual components which can be input to a geometry shader. Note that where a vector type is being used, each discrete value within a vector counts as one component towards this total.
Public member maxGeometryShaderOutputComponents uint32_t
Reports the maximum number of individual components which can be output from a geometry shader per vertex. Note that where a vector type is being used, each discrete value within a vector counts as one component towards this total.
Public member maxGeometryShaderOutputVertices uint32_t
Reports the maximum number of vertices that can be emitted by a geometry shader for each single input primitive it is supplied. Note that attention must also be paid to the maxGeometryShaderOutputComponents and maxGeometryShaderTotalOutputComponents members. For a given geometry shader, where "X" vertices are emitted for a given input primitive, and "Y" output components are emitted for each vertex, the total number of output components is "X * Y". This value must not exceed maxGeometryShaderTotalOutputComponents, even if neither maxGeometryShaderOutputComponents or maxGeometryShaderOutputVertices are exceeded.
Public member maxGeometryShaderTotalOutputComponents uint32_t
Reports the maximum total number of output components that can emitted by a geometry shader for each single input primitive it is supplied.
Public member maxFragmentShaderInputComponents uint32_t
Reports the maximum number of individual components which can be input to a fragment shader. Note that where a vector type is being used, each discrete value within a vector counts as one component towards this total.

See also