D3D12_SHADER_VISIBILITY enumeration (d3d12.h)

Specifies the shaders that can access the contents of a given root signature slot.

Syntax

typedef enum D3D12_SHADER_VISIBILITY {
  D3D12_SHADER_VISIBILITY_ALL = 0,
  D3D12_SHADER_VISIBILITY_VERTEX = 1,
  D3D12_SHADER_VISIBILITY_HULL = 2,
  D3D12_SHADER_VISIBILITY_DOMAIN = 3,
  D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
  D3D12_SHADER_VISIBILITY_PIXEL = 5,
  D3D12_SHADER_VISIBILITY_AMPLIFICATION = 6,
  D3D12_SHADER_VISIBILITY_MESH = 7
} ;

Constants

 
D3D12_SHADER_VISIBILITY_ALL
Value: 0
Specifies that all shader stages can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_VERTEX
Value: 1
Specifies that the vertex shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_HULL
Value: 2
Specifies that the hull shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_DOMAIN
Value: 3
Specifies that the domain shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_GEOMETRY
Value: 4
Specifies that the geometry shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_PIXEL
Value: 5
Specifies that the pixel shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_AMPLIFICATION
Value: 6
Specifies that the amplification shader stage can access whatever is bound at the root signature slot.
D3D12_SHADER_VISIBILITY_MESH
Value: 7
Specifies that the mesh shader stage can access whatever is bound at the root signature slot.

Remarks

This enum is used by the D3D12_ROOT_PARAMETER structure.

The compute queue always uses D3D12_SHADER_VISIBILITY_ALL because it has only one active stage. The 3D queue can choose values, but if it uses D3D12_SHADER_VISIBILITY_ALL, all shader stages can access whatever is bound at the root signature slot.

Requirements

Requirement Value
Header d3d12.h

See also

Core Enumerations