D3D12DDIARG_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054 structure (d3d12umddi.h)

Description of the acceleration structure to build.

Syntax

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;

Members

DestAccelerationStructureData

Location to store the resulting acceleration structure from BuildRaytracingAccelerationStructure. GetRaytracingAccelerationStructurePrebuildInfo reports the amount of memory required for the result here, given a set of acceleration structure build parameters.

The start address must be aligned to 256 bytes.

The memory pointed to must be in resource state D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Inputs

A D3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_0054 structure that represents the ray tracing acceleration build inputs.

SourceAccelerationStructureData

Address of an existing acceleration structure if an acceleration structure update like an incremental build is being requested, by setting D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE in the D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS enumeration. Otherwise, this address must be NULL.

If this address is the same as DestAccelerationStructureData, the update is to be performed in-place. Any other form of overlap of the source and destination memory is invalid and produces undefined behavior.

The address must be aligned to 256 bytes.

The memory pointed to must be in resource state D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

ScratchAccelerationStructureData

Location where the build will store temporary data. GetRaytracingAccelerationStructurePrebuildInfo reports the amount of scratch memory the implementation will need for a given set of acceleration structure build parameters.

The start address must be aligned to 256 bytes. Contents of this memory going into a build on the GPU timeline are irrelevant and will not be preserved. After the build is complete on the GPU timeline, the memory is left with whatever undefined contents the build finished with.

The memory pointed to must be in resource state D3D12DDI_RESOURCE_STATE_UNORDERED_ACCESS.

NumPostbuildInfoDescs

The number of contiguous D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 structures.

pPostbuildInfoDescs

Points to an array of NumPostbuildInfoDescs pointers to D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC_0054 structures.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1809
Header d3d12umddi.h