Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch
Name
VK_KHR_ray_tracing_position_fetch - device extension
VK_KHR_ray_tracing_position_fetch
- Name String
VK_KHR_ray_tracing_position_fetch
- Extension Type
Device extension
- Registered Extension Number
482
- Revision
1
- Ratification Status
Ratified
- Extension and Version Dependencies
- SPIR-V Dependencies
- Contact
Eric Werness
- Extension Proposal
Other Extension Metadata
- Last Modified Date
2023-02-17
- Interactions and External Dependencies
This extension provides API support for GLSL_EXT_ray_tracing_position_fetch
Interacts with
VK_KHR_ray_tracing_pipelineInteracts with
VK_KHR_ray_query
- Contributors
Eric Werness, NVIDIA
Stu Smith, AMD
Yuriy O’Donnell, Epic Games
Ralph Potter, Samsung
Joshua Barczak, Intel
Lionel Landwerlin, Intel
Andrew Garrard, Imagination Technologies
Alex Bourd, Qualcomm
Yunpeng Zhu, Huawei Technologies
Marius Bjorge, Arm
Daniel Koch, NVIDIA
Description
VK_KHR_ray_tracing_position_fetch adds the ability to fetch the vertex
positions in the shader from a hit triangle as stored in the
acceleration structure.
An application adds BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR to the acceleration structure at build time. Then, if the hit is a triangle geometry, the shader (any-hit or closest hit for ray pipelines or using ray query) can fetch the three, three-component vertex positions in object space, of the triangle which was hit.
New Structures
Extending PhysicalDeviceFeatures2, DeviceCreateInfo:
New Enum Constants
Extending BuildAccelerationStructureFlagBitsKHR:
Extending StructureType:
New Built-In Variables
New SPIR-V Capabilities
Issues
None Yet!
Version History
Revision 1, 2023-02-17 (Eric Werness)
internal revisions
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
- 5 types
- Packagevulkan-3.27
- Exports20
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_KHR_ray_tracing_position_fetch.hs
VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR - Structure describing support for fetching vertex positions of hit triangles
Members
This structure describes the following feature:
Description
If the PhysicalDeviceRayTracingPositionFetchFeaturesKHR structure is
included in the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. If the application wishes to use a
Device with any features described by
PhysicalDeviceRayTracingPositionFetchFeaturesKHR, it must add an
instance of the structure, with the desired feature members set to
TRUE, to the pNext chain of
DeviceCreateInfo when creating the
Device.
Structure Chaining
See Also
Constructors
PhysicalDeviceRayTracingPositionFetchFeaturesKHRrayTracingPositionFetch :: BoolrayTracingPositionFetchindicates that the implementation supports fetching the object space vertex positions of a hit triangle.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetchShow PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetchStorable PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetchFromCStruct PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetchToCStruct PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetchZero PhysicalDeviceRayTracingPositionFetchFeaturesKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch
VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying additional parameters for acceleration structure builds
Description
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR specifies that the specified acceleration structure can be updated with a
modeof BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR in AccelerationStructureBuildGeometryInfoKHR or anupdateof TRUE in cmdBuildAccelerationStructureNV . For sphere and LSS primitives, only positions and radii may be updated, the provided index buffers and flags must remain unchanged from the initial build.
BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR specifies that the specified acceleration structure can act as the source for a copy acceleration structure command with
modeof COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR to produce a compacted acceleration structure.BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR specifies that the given acceleration structure build should prioritize trace performance over build time.
BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR specifies that the given acceleration structure build should prioritize build time over trace performance.
BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR specifies 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.
BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_KHR specifies that the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.
BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT specifies that the data of the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.
BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_KHR specifies that the specified acceleration structure may be referenced in an instance with GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_KHR set.
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV specifies that opacity micromaps may be associated with the given cluster acceleration structure.
BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR specifies that the specified acceleration structure can be used when fetching the vertex and radius positions of a hit LSS or sphere primitive, or vertex positions of a hit triangle.
BUILD_ACCELERATION_STRUCTURE_MICROMAP_LOSSY_BIT_KHR specifies that micromaps can be compressed with a lossy encoding as described in Ray Opacity Micromap, which may support additional subdivision levels.
BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV specifies that the displacement micromaps associated with the specified acceleration structure may change with an acceleration structure update.
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and 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.
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
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
BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR to perform the compacted
update.
See Also
VK_KHR_acceleration_structure, VK_NV_ray_tracing, BuildAccelerationStructureFlagsKHR
Constructors
Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
Eq BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureOrd BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureRead BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureShow BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureBits BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureFiniteBits BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureStorable BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structureZero BuildAccelerationStructureFlagBitsKHRDefined in vulkan-3.27 · Vulkan.Extensions.VK_KHR_acceleration_structure