Skip to main content
Define os limites de um shader gráfico.

Sintaxe

Membros

MaxWavesWithLateAllocParameterCache
Tipo: UINT
Especifica o número máximo de waves do último estágio que podem ser executadas sem alocar espaço no cache de parâmetros de alocação tardia. Números maiores permitem que mais waves sejam executadas, mas podem causar contenção nas unidades SIMD (Single Instruction Multiple Data), pois os shaders ficarão parados na primeira instrução exp até que haja espaço, possivelmente monopolizando slots de wave, GPRs e outros recursos compartilhados. “Último estágio” é o estágio que ocorre antes do pixel shader: VS, DS ou GS. Para GS, isso afeta apenas a parte de passagem do shader. Para encontrar as configurações ideais para diferentes partes de uma cena, considere usar experimentos do Dr. PIX. Definir MaxWavesWithLateAllocParameterCache acima de 22 pode causar deadlocks na GPU. Se esses deadlocks forem causados por uma transição de pipeline da GPU, eles poderão ser raros e difíceis de reproduzir. Para evitar esses deadlocks com configurações altas do membro MaxWavesWithLateAllocParameterCache, verifique se o membro VSDisableCUMask tem um valor diferente de zero, para que pelo menos uma unidade de computação (CU) não esteja executando vertex shaders, evitando assim deadlocks. Normalmente, em relação aos ganhos de desempenho obtidos com a configuração de MaxWavesWithLateAllocParameterCache, o impacto no desempenho causado pela operação de mascaramento é insignificante. VSDisableFlags
Tipo: D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS
Campo de bits que especifica as unidades de computação a serem desabilitadas para o vertex shader. DSDisableFlags
Tipo: D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS
Campo de bits que especifica as unidades de computação a serem desabilitadas para o domain shader. GSDisableFlags
Tipo: D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS
Campo de bits que especifica as unidades de computação a serem desabilitadas para o geometry shader. PSDisableFlags
Tipo: D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS
Campo de bits que especifica as unidades de computação a serem desabilitadas para o pixel shader. VSMaxWaves
Tipo: UINT
Especifica o número máximo de waves de VS que podem ser executadas simultaneamente na GPU. HSMaxWaves
Tipo: UINT
Especifica o número máximo de waves de HS que podem ser executadas simultaneamente na GPU. DSMaxWaves
Tipo: UINT
Especifica o número máximo de waves de DS que podem ser executadas simultaneamente na GPU. GSMaxWaves
Tipo: UINT
Especifica o número máximo de waves de GS que podem ser executadas simultaneamente na GPU. PSMaxWaves
Tipo: UINT
Especifica o número máximo de waves de PS que podem ser executadas simultaneamente na GPU. VSMaxWavesForCuLocking
Tipo: UINT
Especifica o número máximo de waves de VS que permitem que o bloqueio de CU ocorra. HSMaxWavesForCuLocking
Tipo: UINT
Especifica o número máximo de waves de HS que permitem que o bloqueio de CU ocorra. DSMaxWavesForCuLocking
Tipo: UINT
Especifica o número máximo de waves de DS que permitem que o bloqueio de CU ocorra. GSMaxWavesForCuLocking
Tipo: UINT
Especifica o número máximo de waves de GS que permitem que o bloqueio de CU ocorra. PSMaxWavesForCuLocking
Tipo: UINT
Especifica o número máximo de waves de PS que permitem que o bloqueio de CU ocorra.

Comentários

Com os parâmetros MaxWavesForCuLocking, se o número de waves em execução for menor que esse número máximo e se uma nova wave estiver pronta, mas não puder ser agendada em nenhum lugar, a GPU “bloqueará” uma unidade de computação (CU) de modo que nenhuma nova wave de outros estágios (ou pipes) possa usá-la até que a nova wave desse estágio seja finalmente iniciada. Isso ajuda a controlar a “inanição”. Use a função auxiliar embutida D3D12XboxInitializeDefaultGraphicsShaderLimits para inicializar uma estrutura D3D12XBOX_GRAPHICS_SHADER_LIMITS_DESC com os padrões. Os seguintes métodos e estruturas usam esta estrutura:

Requisitos

Cabeçalho: d3d12_x.h Plataformas com suporte: família XBOX One

Confira também

d3d12_x
Last modified on October 6, 2026