Compartir a través de


enumeración D3D12_ROOT_SIGNATURE_FLAGS (d3d12.h)

Especifica las opciones para el diseño de la firma raíz.

Syntax

typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
  D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
  D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
  D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
  D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
} ;

Constantes

 
D3D12_ROOT_SIGNATURE_FLAG_NONE
Valor: 0
Indica el comportamiento predeterminado.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Valor: 0x1
La aplicación opta por usar el ensamblador de entrada (que requiere un diseño de entrada que define un conjunto de enlaces de búfer de vértices). Si se omite esta marca, se puede guardar un espacio de argumentos raíz en algún hardware. Omita esta marca si el ensamblador de entrada no es necesario, aunque la optimización es menor.
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Valor: 0x2
Deniega el acceso del sombreador de vértices a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Valor: 0x4
Deniega el acceso del sombreador de casco a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Valor: 0x8
Deniega el acceso del sombreador de dominio a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Valor: 0x10
Deniega el acceso del sombreador de geometría a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Valor: 0x20
Deniega el acceso del sombreador de píxeles a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Valor: 0x40
La aplicación opta por usar la salida de flujo. Si se omite esta marca, se puede guardar un espacio de argumentos raíz en algún hardware. Omita esta marca si la salida de flujo no es necesaria, aunque la optimización es menor.
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE
Valor: 0x80
La firma raíz se va a usar con sombreadores de raytracing para definir enlaces de recursos procedentes de registros de sombreador en tablas de sombreador. Esta marca no se puede combinar con ninguna otra marca de firma raíz, que están relacionadas con la canalización de gráficos. La ausencia de la marca significa que la firma raíz se puede usar con gráficos o proceso, donde la versión de proceso también se comparte con la firma raíz global de raytracing.
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS
Valor: 0x100
Deniega el acceso del sombreador de amplificación a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS
Valor: 0x200
Deniega el acceso del sombreador de malla a la firma raíz.
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED
Valor: 0x400
Los sombreadores pueden indexar el montón de descriptores CBV/SRV/UAV directamente mediante la variable integrada ResourceDescriptorHeap .
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED
Valor: 0x800
Los sombreadores pueden indexar el montón del descriptor de ejemplo directamente mediante la variable integrada SamplerDescriptorHeap .

Comentarios

Esta enumeración se usa en la estructura D3D12_ROOT_SIGNATURE_DESC .

El valor de denegar el acceso a las fases del sombreador es una optimización menor en algún hardware. Si, por ejemplo, la marca D3D12_SHADER_VISIBILITY_ALL se ha establecido para difundir la firma raíz en todas las fases del sombreador, la denegación del acceso puede sobresule esto y guardar el hardware en algunas tareas. Como alternativa, si el sombreador es tan sencillo que no se necesiten recursos de firma raíz, también se podría usar aquí la denegación del acceso.

Requisitos

   
Encabezado d3d12.h

Consulte también

Enumeraciones principales

Creación de una firma raíz

D3D12_ROOT_SIGNATURE_DESC