Compartir a través de


estructura de D3D11_TRACE_STATS (d3d11shadertracing.h)

Especifica estadísticas sobre un seguimiento.

Sintaxis

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;

Miembros

TraceDesc

Estructura D3D11_SHADER_TRACE_DESC que describe el objeto de seguimiento del sombreador para el que esta estructura especifica estadísticas.

NumInvocationsInStamp

Número de llamadas en la marca para el seguimiento. Este valor siempre es 1 para sombreadores de vértices, sombreadores de casco, sombreadores de dominio, sombreadores de geometría y sombreadores de proceso. Este valor es 4 para sombreadores de píxeles.

TargetStampIndex

Índice de la marca de destino. Este valor siempre es 0 para sombreadores de vértices, sombreadores de casco, sombreadores de dominio, sombreadores de geometría y sombreadores de proceso. Sin embargo, en el caso de los sombreadores de píxeles, este valor indica cuál de los cuatro píxeles de la marca es el destino del seguimiento. Puede examinar los seguimientos de otros píxeles del sello para determinar cómo se produjeron los cálculos derivados. Puede realizar esta determinación correlacionando los registros entre seguimientos.

NumTraceSteps

Número total de pasos para el seguimiento. Este número es el mismo para todas las llamadas de stamp.

InputMask[32]

Máscara de seguimiento de componentes para cada registro de entrada de v#. Para obtener información sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.

En el caso de los sombreadores de vértices, sombreadores de geometría, sombreadores de píxeles, sombreadores de casco y sombreadores de dominio, el intervalo válido es [0..31]. En el caso de los sombreadores de proceso, este miembro no es aplicable. Además, las entradas para sombreadores de geometría están indizada en 2D. Por ejemplo, considere v[vtex][attribute]. En este ejemplo, el intervalo de [atributo] es [0..31]. El eje [vértice] es el mismo tamaño para todas las entradas, que viene determinada por el miembro GSInputPrimitive .

De forma similar, las entradas para sombreador de casco y sombreador de dominio se indexan en 2D. Por ejemplo, considere v[vtex][attribute]. En este ejemplo, el intervalo de [atributo] es [0..15]. El eje [vértice] es el mismo tamaño para todas las entradas.

OutputMask[32]

Máscara de seguimiento de componentes para cada registro de salida de o#. Para obtener información sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.

En el caso de los sombreadores de vértices y sombreadores de geometría, el intervalo válido es [0..31]. En el caso de los sombreadores de píxeles, el intervalo válido es [0..7]. En el caso de los sombreadores de proceso, este miembro no es aplicable. En el caso de los puntos de control de salida para sombreadores de casco, los registros se indexan en 2D. Por ejemplo, considere ocp[vértice][atributo]. En este ejemplo, el intervalo de [atributo] es [0..31]. El eje [vértice] es el mismo tamaño para todas las entradas.

NumTemps

Número de temporales, es decir, registros r# de 4 x 32 bits que se declaran.

MaxIndexableTempIndex

Índice máximo #+1 de todas las temporales indexables x#[] que se declaran. Si se declaran dispersamente (por ejemplo, x3[12] y x200[30] solo), este valor es 201 (200+1).

IndexableTempSize[4096]

Número de temporales para cada temp indizable x#[numTemps]. Solo puede tener temps hasta el valor en el miembro MaxIndexableTempIndex .

ImmediateConstantBufferSize

Número de valores de 4 x 32 bits (si los hay) que se encuentran en el búfer de constantes inmediato.

PixelPosition[4]

PixelCoverageMask[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica qué muestras de MSAA se tratan para cada sello. Esta cobertura se produce antes de que las operaciones alfa-cobertura, profundidad y galería de símbolos se realicen en el píxel. Para no MSAA, examine el bit menos significativo (LSB). Esta máscara puede ser 0 para píxeles que solo se ejecutan para admitir derivados para píxeles vecinos.

PixelDiscardedMask[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica ejemplos descartados. Si el sombreador de píxeles se ejecuta con frecuencia de píxeles, "descartar" desactiva todas las muestras. Si todas las muestras están desactivadas, los cuatro miembros de máscara siguientes también son 0.

PixelCoverageMaskAfterShader[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica los ejemplos de MSAA que están cubiertos. En el caso de que no sea MSAA, examine el LSB.

PixelCoverageMaskAfterA2CSampleMask[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica las muestras de MSAA que se cubren después de alpha-to-coverage+sampleMask, pero antes de la profundidad y la galería de símbolos. En el caso de que no sea MSAA, examine el LSB.

PixelCoverageMaskAfterA2CSampleMaskDepth[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica las muestras de MSAA que se cubren después de alfa-cobertura+sampleMask+depth, pero antes de la galería de símbolos. En el caso de que no sea MSAA, examine el LSB.

PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4]

Nota Este miembro es solo para sombreadores de píxeles, [stampIndex].
 
Máscara que indica las muestras de MSAA que se tratan después de la galería de símbolos alfa-cobertura+sampleMask+depth+stencil. En el caso de que no sea MSAA, examine el LSB.

PSOutputsDepth

Valor que especifica si este seguimiento es para un sombreador de píxeles que genera el registro oDepth. TRUE indica que el sombreador de píxeles genera el registro oDepth; de lo contrario, FALSE.

PSOutputsMask

Valor que especifica si este seguimiento es para un sombreador de píxeles que genera el registro oMask. TRUE indica que el sombreador de píxeles genera el registro oMask; de lo contrario, FALSE.

GSInputPrimitive

Valor D3D11_TRACE_GS_INPUT_PRIMITIVE con tipo que identifica el tipo de primitivo de entrada del sombreador de geometría. Es decir, este valor identifica: {point, line, triangle, line_adj, triangle_adj} o el número de vértices: 1, 2, 3, 4 o 6 respectivamente. Por ejemplo, para una línea, input v[][#] es realmente v[2][#]. Para sombreadores de vértices y sombreadores de píxeles, establezca este miembro en D3D11_TRACE_GS_INPUT_PRIMITIVE_UNDEFINED.

GSInputsPrimitiveID

Valor que especifica si este seguimiento es para un sombreador de geometría que introduce el registro PrimitiveID. TRUE indica que el sombreador de geometría introduce el registro PrimitiveID; de lo contrario, FALSE.

HSOutputPatchConstantMask[32]

Nota Este miembro es solo para sombreadores de casco.
 
Máscara de seguimiento de componentes para la salida del sombreador de casco. Para obtener información sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.

El valor de D3D11_TRACE_INPUT_PRIMITIVE_ID_REGISTER está disponible a través de una llamada al método ID3D11ShaderTrace::GetInitialRegisterContents .

DSInputPatchConstantMask[32]

Nota Este miembro es solo para sombreadores de dominio.
 
Máscara de seguimiento de componentes para la entrada del sombreador de dominio. Para obtener información sobre D3D11_TRACE_COMPONENT_MASK, consulte D3D11_TRACE_VALUE.

Los siguientes valores están disponibles a través de una llamada al método ID3D11ShaderTrace::GetInitialRegisterContents :

Comentarios

Esta API requiere el Kit de desarrollo de software (SDK) de Windows para Windows 8.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Encabezado d3d11shadertracing.h

Consulte también

ID3D11ShaderTrace::GetTraceStats

Estructuras de los sombreadores