Skip to main content
Versão extensível de DispatchRays. O conjunto de memória de trabalho pode ser fornecido pelo usuário.

Sintaxe

Parâmetros

pDesc   _In_
Tipo: D3D12XBOX_DISPATCH_RAYS_DESC*
Internamente, DispatchRays usa uma alocação do driver para a pilha DXR e sincroniza automaticamente o acesso a essa memória. DispatchRaysX permite que o título especifique sua própria alocação de memória e seu tamanho. O driver redimensionará o Dispatch interno de ray tracing adequadamente.

Valor retornado

Tipo: void

Comentários

Exemplo 1 — um aplicativo usa sua própria alocação de memória e precisa garantir a sincronização adequada
O dimensionamento da memória de rascunho (scratch) pode ser feito de forma aproximada; por exemplo, o driver usa um scratch do mesmo tamanho para todos os dispatches (ele apenas varia o número de waves em execução), ou ela pode ser dimensionada adequadamente. Observe que há algumas implicações de desempenho para espaços de scratch extremamente reduzidos, devido à redução da ocupação. Se for necessário um cálculo mais preciso, GetInformationX poderá ser usado para consultá-lo. Exemplo 2 — usando GetInformationX para consultar a quantidade de scratch necessária por wave
Dentro da estrutura “stats” há um campo chamado ScratchSize, que é o número de bytes de scratch necessários por lane. O scratch é alocado em blocos de 1024B; portanto, para obter a alocação segura para uma wave, precisamos calcular ScratchSize * 32 (o XDXR sempre executa wave 32 internamente) e arredondar para cima até 1KB.

Requisitos

Cabeçalho: d3d12_xs.h Biblioteca: d3d12_xs.lib
Plataformas compatíveis: consoles XBOX Series

Confira também

ID3D12GraphicsCommandList6
Last modified on October 6, 2026