Enum
VkBuildAccelerationStructureFlagBitsKHR
Bitmask specifying additional parameters for acceleration structure builds
Bits which can be set in
VkAccelerationStructureBuildGeometryInfoKHR::flags
or
VkAccelerationStructureInfoNV::flags
specifying additional parameters for acceleration structure builds, are:
typedef enum VkBuildAccelerationStructureFlagBitsKHR {
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
} VkBuildAccelerationStructureFlagBitsKHR;
or the equivalent
#define VkBuildAccelerationStructureFlagBitsNV VkBuildAccelerationStructureFlagBitsKHR
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR
indicates that the specified acceleration structure can be updated with amode
ofVK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
in VkAccelerationStructureBuildGeometryInfoKHR or anupdate
ofVK_TRUE
in vkCmdBuildAccelerationStructureNV .VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
indicates that the specified acceleration structure can act as the source for a copy acceleration structure command withmode
ofVK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR
to produce a compacted acceleration structure.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
indicates that the given acceleration structure build should prioritize trace performance over build time.VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
indicates that the given acceleration structure build should prioritize build time over trace performance.VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR
indicates that this acceleration structure should minimize the size of the scratch memory and the final result acceleration structure, potentially at the expense of build time or trace performance.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT
indicates that the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT
indicates that the data of the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT
indicates that the specified acceleration structure may be referenced in an instance withVK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT
set.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR
indicates that the specified acceleration structure can be used when fetching the vertex positions of a hit triangle.VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV
indicates that the displacement micromaps associated with the specified acceleration structure may change with an acceleration structure update.
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR
and
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
may take
more time and memory than a normal build, and so should only be used when
those features are needed.
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR
and
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
are allowed
to be used together.
In that case, the result of the compaction copy is used as the source of a
build with mode
of
VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR
to perform the
compacted update.