dcl_output oMask (sm5 - asm)

Declare an output register to be written by the shader.

dcl_output o#[.mask]
Item Description
o#
[in] The output register.
  • # is an name that identifies the register.
  • [.mask] is an optional component mask (.xyzw) that specifies which of the register components to use.

Remarks

Example:
                dcl_output oMask[3].xyz

Restrictions

  • The component mask can be any subset of [xyzw]. However, leaving gaps between components wastes space.
  • It is legal to declare a superset of the component mask declared for input by the next stage. However mutually exclusive masks are not allowed. The vertex shader outputting o3.xy, means the pixel shader inputting v3.z is invalid, but inputting v3.x or v3.y or v3.xy is valid.

This instruction applies to the following shader stages:

Vertex Hull Domain Geometry Pixel Compute
X X X X 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

Shader Model 5 Assembly (DirectX HLSL)