Partager via


structure D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 (d3d12umddi.h)

Description de la structure d’accélération à générer.

Syntaxe

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;

Membres

DestAccelerationStructureData

Emplacement pour stocker la structure d’accélération résultante à partir de BuildRaytracingAccelerationStructure. GetRaytracingAccelerationStructurePrebuildInfo indique ici la quantité de mémoire requise pour le résultat, en fonction d’un ensemble de paramètres de build de structure d’accélération.

L’adresse de début doit être alignée sur 256 octets.

La mémoire pointée vers doit être à l’état de ressource D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Inputs

Structure D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054 qui représente les entrées de build d’accélération du suivi de rayons.

SourceAccelerationStructureData

Adresse d’une structure d’accélération existante si une mise à jour de structure d’accélération comme une build incrémentielle est demandée, en définissant D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE dans l’énumération D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS . Sinon, cette adresse doit être NULL.

Si cette adresse est identique à DestAccelerationStructureData, la mise à jour doit être effectuée sur place. Toute autre forme de chevauchement de la mémoire source et de destination n’est pas valide et produit un comportement non défini.

L’adresse doit être alignée sur 256 octets.

La mémoire pointée vers doit être à l’état de ressource D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

ScratchAccelerationStructureData

Emplacement où la build stocke les données temporaires. GetRaytracingAccelerationStructurePrebuildInfo indique la quantité de mémoire de travail dont l’implémentation aura besoin pour un ensemble donné de paramètres de build de structure d’accélération.

L’adresse de début doit être alignée sur 256 octets. Le contenu de cette mémoire entrant dans une build sur le gpu chronologie n’est pas pertinent et ne sera pas conservé. Une fois la génération terminée sur le gpu chronologie, la mémoire reste avec le contenu non défini avec lequel la build a terminé.

La mémoire pointée vers doit être à l’état de ressource D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS.

NumPostbuildInfoDescs

Nombre de structures D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 contiguës.

pPostbuildInfoDescs

Pointe vers un tableau de pointeurs NumPostbuildInfoDescs vers D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 structures.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809
En-tête d3d12umddi.h