Condividi tramite


D3D11_TRACE_STATS struttura (d3d11shadertracing.h)

Specifica le statistiche relative a una traccia.

Sintassi

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;

Members

TraceDesc

Struttura D3D11_SHADER_TRACE_DESC che descrive l'oggetto di traccia shader per cui questa struttura specifica le statistiche.

NumInvocationsInStamp

Numero di chiamate nel timbro per la traccia. Questo valore è sempre 1 per vertex shader, shader di scafo, shader di dominio, shader geometry e shader di calcolo. Questo valore è 4 per pixel shader.

TargetStampIndex

Indice del timbro di destinazione. Questo valore è sempre 0 per vertex shader, shader di scafo, shader di dominio, shader geometry e shader di calcolo. Tuttavia, per i pixel shader questo valore indica quale dei quattro pixel del timbro è la destinazione per la traccia. È possibile esaminare le tracce per altri pixel nel timbro per determinare il modo in cui si sono verificati i calcoli derivati. È possibile stabilire questa determinazione correlando i registri tra le tracce.

NumTraceSteps

Numero totale di passaggi per la traccia. Questo numero è lo stesso per tutte le chiamate di stamp.

InputMask[32]

Maschera di traccia del componente per ogni registro v# di input. Per informazioni sulle D3D11_TRACE_COMPONENT_MASK, vedere D3D11_TRACE_VALUE.

Per i vertex shader, gli shader geometria, gli shader pixel, gli shader dello scafo e gli shader di dominio, l'intervallo valido è [0..31]. Per gli shader di calcolo, questo membro non è applicabile. Inoltre, gli input per gli shader geometry sono indicizzati 2D. Si consideri ad esempio v[vertex][attributo]. In questo esempio l'intervallo di [attributo] è [0..31]. L'asse [vertice] è la stessa dimensione per tutti gli input, che vengono determinati dal membro GSInputPrimitive .

Analogamente, gli input per lo shader dello scafo e lo shader di dominio sono indicizzati 2D. Si consideri ad esempio v[vertex][attributo]. In questo esempio l'intervallo di [attributo] è [0..15]. L'asse [vertice] è la stessa dimensione per tutti gli input.

OutputMask[32]

Maschera di traccia del componente per ogni registro o# di output. Per informazioni sulle D3D11_TRACE_COMPONENT_MASK, vedere D3D11_TRACE_VALUE.

Per i vertex shader e gli shader geometry, l'intervallo valido è [0..31]. Per pixel shader, l'intervallo valido è [0..7]. Per gli shader di calcolo, questo membro non è applicabile. Per i punti di controllo di output per gli shader dello scafo, i registri sono indicizzati 2D. Si consideri ad esempio ocp[vertex][attribute]. In questo esempio l'intervallo di [attributo] è [0..31]. L'asse [vertice] è la stessa dimensione per tutti gli input.

NumTemps

Numero di temp, ovvero registri r# a 4x32 bit dichiarati.

MaxIndexableTempIndex

Indice massimo #+1 di tutti i temp indicizzati x#[] dichiarati. Se sono dichiarate sparse (ad esempio, x3[12] e x200[30] solo), questo valore è 201 (200+1).

IndexableTempSize[4096]

Numero di temp per ogni tempable temp x#[numTemps]. È possibile avere solo temps fino al valore nel membro MaxIndexableTempIndex .

ImmediateConstantBufferSize

Numero di valori a 4x32 bit (se presenti) presenti nel buffer costante immediato.

PixelPosition[4]

PixelCoverageMask[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica quali esempi MSAA sono coperti per ogni timbro. Questa copertura si verifica prima dell'esecuzione di operazioni alfa-to-coverage, profondità e stencil sul pixel. Per non MSAA, esaminare il bit meno significativo (LSB). Questa maschera può essere 0 per pixel eseguiti solo per supportare i derivati per i pixel adiacenti.

PixelDiscardedMask[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica esempi eliminati. Se il pixel shader viene eseguito a frequenza pixel, "scartare" tutti gli esempi. Se tutti gli esempi sono disattivati, i quattro membri della maschera seguenti sono anche 0.

PixelCoverageMaskAfterShader[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica gli esempi MSAA coperti. Per non MSAA, esaminare LSB.

PixelCoverageMaskAfterA2CSampleMask[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica gli esempi MSAA coperti dopo la maschera alfa-to-coverage+sampleMask, ma prima della profondità e dello stencil. Per non MSAA, esaminare LSB.

PixelCoverageMaskAfterA2CSampleMaskDepth[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica gli esempi MSAA coperti dopo alfa-to-coverage+sampleMask+depth, ma prima di stencil. Per non MSAA, esaminare LSB.

PixelCoverageMaskAfterA2CSampleMaskDepthStencil[4]

Nota Questo membro è solo per pixel shader, [stampIndex].
 
Maschera che indica gli esempi MSAA coperti dopo alfa-to-coverage+sampleMask+depth+stencil. Per non MSAA, esaminare LSB.

PSOutputsDepth

Valore che specifica se questa traccia è per un pixel shader che restituisce il registro oDepth. TRUE indica che il pixel shader restituisce il registro oDepth; in caso contrario, FALSE.

PSOutputsMask

Valore che specifica se questa traccia è per un pixel shader che restituisce il registro oMask. TRUE indica che il pixel shader restituisce il registro oMask; in caso contrario, FALSE.

GSInputPrimitive

Valore D3D11_TRACE_GS_INPUT_PRIMITIVE tipizzato che identifica il tipo di primitiva di input geometry shader. Questo valore identifica: {point, line, triangolo, line_adj, triangle_adj} o il numero di vertici: 1, 2, 3, 4 o 6 rispettivamente. Ad esempio, per una riga, input v[][#] è effettivamente v[2][#]. Per i vertex shader e pixel shader, impostare questo membro su D3D11_TRACE_GS_INPUT_PRIMITIVE_UNDEFINED.

GSInputsPrimitiveID

Valore che specifica se questa traccia è per un shader geometry che inserisce il registro PrimitiveID. TRUE indica che lo shader geometry inserisce il registro PrimitiveID; in caso contrario, FALSE.

HSOutputPatchConstantMask[32]

Nota Questo membro è solo per gli shader dello scafo.
 
Maschera di traccia del componente per l'output di hull-shader. Per informazioni sulle D3D11_TRACE_COMPONENT_MASK, vedere D3D11_TRACE_VALUE.

Il valore D3D11_TRACE_INPUT_PRIMITIVE_ID_REGISTER è disponibile tramite una chiamata al metodo ID3D11ShaderTrace::GetInitialRegisterContents .

DSInputPatchConstantMask[32]

Nota Questo membro è solo per gli shader di dominio.
 
Maschera di traccia del componente per l'input di domain-shader. Per informazioni sulle D3D11_TRACE_COMPONENT_MASK, vedere D3D11_TRACE_VALUE.

I valori seguenti sono disponibili tramite una chiamata al metodo ID3D11ShaderTrace::GetInitialRegisterContents :

Commenti

Questa API richiede Windows Software Development Kit (SDK) per Windows 8.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Intestazione d3d11shadertracing.h

Vedi anche

ID3D11ShaderTrace::GetTraceStats

Strutture shader