Sintaxe
Parâmetros
ThreadGroupCountX _In_Tipo: UINT Todas as invocações do Mesh Shader no XBOX são unidimensionais. Este parâmetro especifica quantos grupos de threads devem ser inicializados. Flags _In_
Tipo: UINT64 Valor 0: inicializar grupos de threads do Mesh Shader Valor 1: inicializar grupos de threads do Amplification Shader IndirectArgsPointer _In_
Tipo: UINT64 Ponteiro para os argumentos indiretos de destino nos quais o Amplification Shader gravará.
Os registros gravados têm o formato D3D12XBOX_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH_X.
Se for usado em uma chamada de execução indireta, o ponteiro precisará apontar para dentro de um recurso de buffer com o sinalizador D3D12XBOX_RESOURCE_FLAG_ALLOW_INDIRECT_BUFFER.
Esse ponteiro precisa estar alinhado a 256 B e não pode ter mais de 40 bits definidos (a ABI o desloca 8 bits para a direita em um valor de 32 bits antes de passá-lo ao sombreador).
O ponteiro deve ser 0 quando o Amplification Shader não estiver selecionado.
O buffer deve ter tamanho suficiente para comportar ThreadGroupCountX instâncias de D3D12XBOX_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH_X. PayloadPointer _In_
Tipo: UINT64 Ponteiro para o destino ou a origem do armazenamento de payload do Mesh Shader.
Se o Amplification Shader estiver selecionado, ele apontará para o local em que o payload por grupo de threads é gravado. O ponteiro de payload deve estar alinhado a 256 B quando usado como destino (a ABI o desloca 8 bits para a direita em um valor de 32 bits antes de passá-lo ao sombreador).
Se o Mesh Shader estiver selecionado, ele apontará para a origem do payload usado no Mesh Shader. O ponteiro de payload deve estar alinhado a 16 B quando usado como origem.
Em ambos os casos, o buffer não pode ter mais de 40 bits definidos.
Valor retornado
Tipo: voidComentários
Quando um DispatchMesh comum é chamado, o driver usa essencialmente essa funcionalidade, mas fornece a assinatura de comando de execução indireta e os buffers temporários. Aqui estão alguns exemplos de uso-
Inicializando apenas um Mesh Shader com um ponteiro de payload passado manualmente
-
Inicializando um Amplification Shader e, em seguida, executando indiretamente o Mesh Shader
Requisitos
Cabeçalho: d3d12_xs.h Biblioteca: d3d12_xs.libPlataformas compatíveis: consoles XBOX Series
