Share via


estructura D3D12_SIGNATURE_PARAMETER_DESC (d3d12shader.h)

Describe una firma de sombreador.

Sintaxis

typedef struct _D3D12_SIGNATURE_PARAMETER_DESC {
  LPCSTR                      SemanticName;
  UINT                        SemanticIndex;
  UINT                        Register;
  D3D_NAME                    SystemValueType;
  D3D_REGISTER_COMPONENT_TYPE ComponentType;
  BYTE                        Mask;
  BYTE                        ReadWriteMask;
  UINT                        Stream;
  D3D_MIN_PRECISION           MinPrecision;
} D3D12_SIGNATURE_PARAMETER_DESC;

Miembros

SemanticName

Cadena por parámetro que identifica cómo se usarán los datos. Para obtener más información, consulta Semántica.

SemanticIndex

Índice semántico que modifica la semántica. Se usa para diferenciar parámetros diferentes que usan la misma semántica.

Register

Registro que contendrá los datos de esta variable.

SystemValueType

Valor de tipo D3D_NAME que identifica una cadena predefinida que determina la funcionalidad de determinadas fases de canalización.

ComponentType

Valor de tipo D3D_REGISTER_COMPONENT_TYPE que identifica el tipo de datos por componente que se almacena en un registro. Cada registro puede almacenar hasta cuatro componentes de datos.

Mask

Máscara que indica qué componentes de un registro se usan.

ReadWriteMask

Máscara que indica si un componente determinado nunca se escribe (si la firma es una firma de salida) o siempre se lee (si la firma es una firma de entrada).

Stream

Indica qué secuencia usa el sombreador de geometría para el parámetro de firma.

MinPrecision

Valor de tipo D3D_MIN_PRECISION que indica la precisión de interpolación mínima deseada. Para obtener más información, consulta Uso de la precisión mínima de HLSL.

Comentarios

Un sombreador puede tomar n entradas y puede generar salidas m. El orden de los parámetros de entrada (o salida), sus tipos asociados y cualquier semántica adjunta constituyen la firma del sombreador. Cada sombreador tiene una entrada y una firma de salida.

Al compilar un sombreador o un efecto, algunas llamadas API validan firmas de sombreador Es decir, comparan la firma de salida de un sombreador (como un sombreador de vértices) con la firma de entrada de otro sombreador (como un sombreador de píxeles). Esto garantiza que un sombreador genera datos compatibles con un sombreador de nivel inferior que consume esos datos. Compatible significa que una firma de sombreador es un subconjunto de coincidencia exacta de la fase del sombreador anterior. Coincidencia exacta significa que los tipos de parámetros y la semántica deben coincidir exactamente. Subconjunto significa que un parámetro que no es necesario para una fase de bajada no necesita incluir ese parámetro en su firma del sombreador.

Obtenga una firma de sombreador de un sombreador o un efecto mediante una llamada a las API como ID3D12ShaderReflection::GetInputParameterDesc.

Requisitos

Requisito Valor
Header d3d12shader.h

Consulte también

Estructuras de los sombreadores