Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

SV_GroupIndex

The "flattened" index of a compute shader thread within a thread group, which turns the multi-dimensional SV_GroupThreadID into a 1D value. SV_GroupIndex varies from 0 to (numthreadsX * numthreadsY * numThreadsZ) – 1.

Type

Type
uint

 

Remarks


SV_GroupIndex = SV_GroupThreadID.z*dimx*dimy + 
                      SV_GroupThreadID.y*dimx + 
                      SV_GroupThreadID.x


where dimx and dimy are the dimensions specified in the numthreads attribute for the entry point.

This system value is optional. However, its use ensures that a thread only writes to its assigned region of memory in the groupshared variable.

The following illustration shows the relationship between the parameters passed to ID3D11DeviceContext::Dispatch, Dispatch(5,3,2), the values specified in the numthreads attribute, numthreads(10,8,3), and values that will passed to the compute shader for the thread-related system values (SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID).

Illustration of the relationship between Dispatch, thread groups, and threads

This function is supported in the following types of shaders:

VertexHullDomainGeometryPixelCompute
x

 

See also

Semantics
Shader Model 5

 

 

Show:
© 2017 Microsoft