estrutura D3D11_TRACE_STATS (d3d11shadertracing.h)
Especifica estatísticas sobre um rastreamento.
Sintaxe
typedef struct D3D11_TRACE_STATS {
D3D11_SHADER_TRACE_DESC TraceDesc;
UINT8 NumInvocationsInStamp;
UINT8 TargetStampIndex;
UINT NumTraceSteps;
D3D11_TRACE_COMPONENT_MASK InputMask[32];
D3D11_TRACE_COMPONENT_MASK OutputMask[32];
UINT16 NumTemps;
UINT16 MaxIndexableTempIndex;
UINT16 IndexableTempSize[4096];
UINT16 ImmediateConstantBufferSize;
UINT PixelPosition[4][2];
UINT64 PixelCoverageMask[4];
UINT64 PixelDiscardedMask[4];
UINT64 PixelCoverageMaskAfterShader[4];
UINT64 PixelCoverageMaskAfterA2CSampleMask[4];
UINT64 PixelCoverageMaskAfterA2CSampleMaskDepth[4];
UINT64 PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4];
BOOL PSOutputsDepth;
BOOL PSOutputsMask;
D3D11_TRACE_GS_INPUT_PRIMITIVE GSInputPrimitive;
BOOL GSInputsPrimitiveID;
D3D11_TRACE_COMPONENT_MASK HSOutputPatchConstantMask[32];
D3D11_TRACE_COMPONENT_MASK DSInputPatchConstantMask[32];
} D3D11_TRACE_STATS;
Membros
TraceDesc
Uma estrutura D3D11_SHADER_TRACE_DESC que descreve o objeto de rastreamento do sombreador para o qual essa estrutura especifica estatísticas.
NumInvocationsInStamp
O número de chamadas no carimbo do rastreamento. Esse valor é sempre 1 para sombreadores de vértice, sombreadores de casco, sombreadores de domínio, sombreadores de geometria e sombreadores de computação. Esse valor é 4 para sombreadores de pixel.
TargetStampIndex
O índice do carimbo de destino. Esse valor é sempre 0 para sombreadores de vértice, sombreadores de casco, sombreadores de domínio, sombreadores de geometria e sombreadores de computação. No entanto, para sombreadores de pixel, esse valor indica qual dos quatro pixels no carimbo é o destino para o rastreamento. Você pode examinar os rastreamentos de outros pixels no selo para determinar como os cálculos derivados ocorreram. Você pode fazer essa determinação correlacionando os registros entre rastreamentos.
NumTraceSteps
O número total de etapas para o rastreamento. Esse número é o mesmo para todas as chamadas de selo.
InputMask[32]
A máscara de rastreamento de componente para cada registro v# de entrada. Para obter informações sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.
Para sombreadores de vértice, sombreadores de geometria, sombreadores de pixel, sombreadores de casco e sombreadores de domínio, o intervalo válido é [0..31]. Para sombreadores de computação, esse membro não é aplicável. Além disso, as entradas para sombreadores de geometria são indexadas em 2D. Por exemplo, considere v[vértice][atributo]. Neste exemplo, o intervalo de [atributo] é [0..31]. O eixo [vértice] tem o mesmo tamanho para todas as entradas, que são determinadas pelo membro GSInputPrimitive .
Da mesma forma, as entradas para sombreador de casco e sombreador de domínio são indexadas em 2D. Por exemplo, considere v[vértice][atributo]. Neste exemplo, o intervalo de [atributo] é [0..15]. O eixo [vértice] tem o mesmo tamanho para todas as entradas.
OutputMask[32]
A máscara de rastreamento de componente para cada registro o# de saída. Para obter informações sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.
Para sombreadores de vértice e sombreadores de geometria, o intervalo válido é [0..31]. Para sombreadores de pixel, o intervalo válido é [0..7]. Para sombreadores de computação, esse membro não é aplicável. Para pontos de controle de saída para sombreadores de casco, os registros são indexados em 2D. Por exemplo, considere ocp[vértice][atributo]. Neste exemplo, o intervalo de [atributo] é [0..31]. O eixo [vértice] tem o mesmo tamanho para todas as entradas.
NumTemps
O número de temporários, ou seja, registros r# de 4x32 bits declarados.
MaxIndexableTempIndex
O índice máximo #+1 de todos os temps indexáveis x#[] declarados. Se forem declarados de forma esparsa (por exemplo, somente x3[12] e x200[30]), esse valor será 201 (200+1).
IndexableTempSize[4096]
O número de temporários para cada temp indexável x#[numTemps]. Você só pode ter temps até o valor no membro MaxIndexableTempIndex .
ImmediateConstantBufferSize
O número de valores de 4x32 bits (se houver) que estão no buffer constante imediato.
PixelPosition[4]
PixelCoverageMask[4]
PixelDiscardedMask[4]
PixelCoverageMaskAfterShader[4]
PixelCoverageMaskAfterA2CSampleMask[4]
PixelCoverageMaskAfterA2CSampleMaskDepth[4]
PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4]
PSOutputsDepth
Um valor que especifica se esse rastreamento é para um sombreador de pixel que gera o registro oDepth. TRUE indica que o sombreador de pixel gera o registro oDepth; caso contrário, FALSE.
PSOutputsMask
Um valor que especifica se esse rastreamento é para um sombreador de pixel que gera o registro oMask. TRUE indica que o sombreador de pixel gera o registro oMask; caso contrário, FALSE.
GSInputPrimitive
Um valor de tipo D3D11_TRACE_GS_INPUT_PRIMITIVE que identifica o tipo de primitivo de entrada do sombreador de geometria. Ou seja, esse valor identifica: {point, line, triangle, line_adj, triangle_adj} ou o número de vértices: 1, 2, 3, 4 ou 6, respectivamente. Por exemplo, para uma linha, a entrada v[][#] é na verdade v[2][#]. Para sombreadores de vértice e sombreadores de pixel, defina esse membro como D3D11_TRACE_GS_INPUT_PRIMITIVE_UNDEFINED.
GSInputsPrimitiveID
Um valor que especifica se esse rastreamento é para um sombreador de geometria que insere o registro PrimitiveID. TRUE indica que o sombreador de geometria insira o registro PrimitiveID; caso contrário, FALSE.
HSOutputPatchConstantMask[32]
O valor D3D11_TRACE_INPUT_PRIMITIVE_ID_REGISTER está disponível por meio de uma chamada para o método ID3D11ShaderTrace::GetInitialRegisterContents .
DSInputPatchConstantMask[32]
Os seguintes valores estão disponíveis por meio de uma chamada para o método ID3D11ShaderTrace::GetInitialRegisterContents :
Comentários
Essa API requer o SDK (Software Development Kit) do Windows para Windows 8.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho | d3d11shadertracing.h |