C Specification
The VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT structure
is defined as:
// Provided by VK_EXT_ray_tracing_invocation_reorder
typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
VkStructureType sType;
void* pNext;
VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint;
uint32_t maxShaderBindingTableRecordIndex;
} VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
rayTracingInvocationReorderReorderingHintis a hint indicating if the implementation may reorder at the reorder calls. -
maxShaderBindingTableRecordIndexis the maximum shader binding table record index allowed to be passed in toOpHitObjectSetShaderBindingTableRecordIndexEXT
Description
If rayTracingInvocationReorderReorderingHint is
VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT there must exist
conditions under which the ordered set of invocations before a reorder
instruction is different than the ordered set of invocations after the
reorder instruction.
The ordering of a set of invocations is determined by the SubgroupId of
an invocation’s subgroup and the SubGroupInvocationId of an invocation
within that subgroup.
The reorder instructions are:
-
OpReorderThreadWithHintEXT -
OpReorderThreadWithHitObjectEXT -
OpHitObjectReorderExecuteShaderEXT -
OpHitObjectTraceReorderExecuteEXT -
OpHitObjectTraceMotionReorderExecuteEXT
|
Note
|
Because the extension changes how hits are managed there is a compatibility reason to expose the extension even when an implementation does not have sorting active. |
If the VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.