estrutura D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 (d3d12umddi.h)

Descrição da estrutura de aceleração a ser compilada.

Sintaxe

typedef struct D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 {
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              DestAccelerationStructureData;
  D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054              Inputs;
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              SourceAccelerationStructureData;
  D3D12DDI_GPU_VIRTUAL_ADDRESS                                              ScratchAccelerationStructureData;
  UINT                                                                      NumPostbuildInfoDescs;
  const D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 *pPostbuildInfoDescs;
} D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054;

Membros

DestAccelerationStructureData

Local para armazenar a estrutura de aceleração resultante do BuildRaytracingAccelerationStructure. GetRaytracingAccelerationStructurePrebuildInfo relata a quantidade de memória necessária para o resultado aqui, dado um conjunto de parâmetros de build de estrutura de aceleração.

O endereço inicial deve ser alinhado a 256 bytes.

A memória apontada deve estar no estado do recurso D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Inputs

Uma estrutura D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054 que representa as entradas de build de aceleração de rastreamento de raios.

SourceAccelerationStructureData

Endereço de uma estrutura de aceleração existente se uma atualização de estrutura de aceleração como um build incremental estiver sendo solicitada, definindo D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE na enumeração D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS . Caso contrário, esse endereço deve ser NULL.

Se esse endereço for o mesmo que DestAccelerationStructureData, a atualização será executada in-loco. Qualquer outra forma de sobreposição da memória de origem e de destino é inválida e produz um comportamento indefinido.

O endereço deve estar alinhado a 256 bytes.

A memória apontada deve estar no estado do recurso D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

ScratchAccelerationStructureData

Local em que o build armazenará dados temporários. GetRaytracingAccelerationStructurePrebuildInfo relata a quantidade de memória de zero que a implementação precisará para um determinado conjunto de parâmetros de build de estrutura de aceleração.

O endereço inicial deve ser alinhado a 256 bytes. O conteúdo dessa memória que entra em uma compilação na GPU linha do tempo são irrelevantes e não serão preservados. Depois que o build for concluído no linha do tempo de GPU, a memória será deixada com qualquer conteúdo indefinido com o qual o build foi concluído.

A memória apontada deve estar no estado do recurso D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS.

NumPostbuildInfoDescs

O número de estruturas de D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 contíguas.

pPostbuildInfoDescs

Aponta para uma matriz de ponteiros NumPostbuildInfoDescs para D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 estruturas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809
Cabeçalho d3d12umddi.h