Structures

VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT

Structure describing shader module identifier properties of an implementation

The VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT structure is defined as:

typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
    VkStructureType sType;
    void* pNext;
    VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint;
    uint32_t maxShaderBindingTableRecordIndex;
} VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • rayTracingInvocationReorderReorderingHint is a hint indicating if the implementation may reorder at the reorder calls.
  • maxShaderBindingTableRecordIndex is the maximum shader binding table record index allowed to be passed in to OpHitObjectSetShaderBindingTableRecordIndexEXT

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
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.

Valid Usage (Implicit)

VUID-VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT