Declare an unordered access view (UAV) for use by a shader.
| dcl_uav_typed[_glc] dstUAV, dimension, type |
|---|
| Item | Description |
|---|---|
|
dstUAV |
[in] The UAV. |
|
dimension |
[in] Specifies how many dimensions the instructions accessing the UAV are providing. |
|
type |
[in] The type of the UAV. |
Remarks
dstUAV is a u# register being declared as a reference to an UnorderedAccessView that must be bound to UAV slot # at the API.
The dimension must be buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, or Texture3D. This indicates how many dimensions any instructions accessing the UAV are providing: 1 (Texture1D, Buffer), 2 (Texture1DArray, Texture2D) or 3 (Texture2DArray, Texture3D).
Type is {UNORM,SNORM,UINT,SINT,FLOAT}. Operations done with the declared u# must be compatible with the type declared here, and the UAV bound to slot # must also have the same type.
The _glc flag stands for "globally coherent". The absence of _glc means the UAV is being declared only as "group coherent" in the compute shader, or "locally coherent" in a single pixel shader invocation.
This instruction applies to the following shader stages:
| Vertex | Hull | Domain | Geometry | Pixel | Compute |
|---|---|---|---|---|---|
| X | X |
Because UAVs are available at all shader stages for Direct3D 11.1, this instruction applies to all shader stages for the Direct3D 11.1 runtime, which is available starting with Windows 8.
| Vertex | Hull | Domain | Geometry | Pixel | Compute |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
Note This instruction is not supported in compute shader 4.x.
Minimum Shader Model
This instruction is supported in the following shader models:
| Shader Model | Supported |
|---|---|
| Shader Model 5 | yes |
| Shader Model 4.1 | no |
| Shader Model 4 | no |
| Shader Model 3 (DirectX HLSL) | no |
| Shader Model 2 (DirectX HLSL) | no |
| Shader Model 1 (DirectX HLSL) | no |
Send comments about this topic to Microsoft
Build date: 3/5/2013