Defines compute shader limits.
struct D3D11X_COMPUTE_SHADER_LIMITS {
UINT DisableCuMask[2];
UINT MaxWaves;
UINT MaxThreadgroupsPerCu;
UINT MaxWavesForCuLocking;
UINT NumThreadgroupsWalkedPerCu;
D3D11X_SHADER_CS_SIMD_WALK_ALGORITHM SimdWalkAlgorithm;
};
DisableCuMask
Disable CU (compute unit) mask.
MaxWaves
Maximum number of waves that are allowed of the compute type.
MaxThreadgroupsPerCu
Maximum thread groups per CU.
MaxWavesForCuLocking
Maximum number of waves for CU locking. If the compute shader has less waves active than its setting and its allocation does not fit, it can lock a CU and block other stages from allocating to that CU.
NumThreadgroupsWalkedPerCu
Number of thread groups walked per CU (that is, how many thread groups are put on one CU before moving on to the next CU).
SimdWalkAlgorithm
The algorithm that the SIMD (Single Instruction Multiple Data) processes are to use for each CU (refer to D3D11X_SHADER_CS_SIMD_WALK_ALGORITHM).
This structure is used by SetComputeShaderLimits. The default settings are different per pipe. The D3D11X_SHADER_* constants defined in d3d11_x.h provide several helpful values that you can use for each of these fields.
Header: Declared in d3d11_x.h.