vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

Description

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
VK_KHR_acceleration_structure
SPIR-V Dependencies
Contact
  • Eric Werness
Extension Proposal
VK_KHR_ray_tracing_position_fetch

Other Extension Metadata

Last Modified Date
2023-02-17
Interactions and External Dependencies
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

New Enum Constants

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.

Synopsis

Documentation

data PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source #

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.

Valid Usage (Implicit)

See Also

VK_KHR_ray_tracing_position_fetch, Bool32, StructureType

Constructors

PhysicalDeviceRayTracingPositionFetchFeaturesKHR 

Fields

  • rayTracingPositionFetch :: Bool

    rayTracingPositionFetch indicates that the implementation supports fetching the object space vertex positions of a hit triangle.

Instances

Instances details
Eq PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

Storable PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

Show PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

FromCStruct PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

ToCStruct PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

Zero PhysicalDeviceRayTracingPositionFetchFeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch

type KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME = "VK_KHR_ray_tracing_position_fetch" Source #

newtype BuildAccelerationStructureFlagBitsKHR Source #

VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying additional parameters for acceleration structure builds

Description

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

Instances

Instances details
Bits BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Methods

(.&.) :: BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR #

(.|.) :: BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR #

xor :: BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR #

complement :: BuildAccelerationStructureFlagBitsKHR -> BuildAccelerationStructureFlagBitsKHR #

shift :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

rotate :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

zeroBits :: BuildAccelerationStructureFlagBitsKHR #

bit :: Int -> BuildAccelerationStructureFlagBitsKHR #

setBit :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

clearBit :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

complementBit :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

testBit :: BuildAccelerationStructureFlagBitsKHR -> Int -> Bool #

bitSizeMaybe :: BuildAccelerationStructureFlagBitsKHR -> Maybe Int #

bitSize :: BuildAccelerationStructureFlagBitsKHR -> Int #

isSigned :: BuildAccelerationStructureFlagBitsKHR -> Bool #

shiftL :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

unsafeShiftL :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

shiftR :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

unsafeShiftR :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

rotateL :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

rotateR :: BuildAccelerationStructureFlagBitsKHR -> Int -> BuildAccelerationStructureFlagBitsKHR #

popCount :: BuildAccelerationStructureFlagBitsKHR -> Int #

FiniteBits BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Eq BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Ord BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Storable BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Read BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Show BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Zero BuildAccelerationStructureFlagBitsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure