vulkan
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Description

Name

VK_KHR_ray_tracing_maintenance1 - device extension

VK_KHR_ray_tracing_maintenance1

Name String
VK_KHR_ray_tracing_maintenance1
Extension Type
Device extension
Registered Extension Number
387
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_acceleration_structure
API Interactions
  • Interacts with VK_VERSION_1_3
  • Interacts with VK_EXT_device_generated_commands
  • Interacts with VK_KHR_ray_tracing_pipeline
  • Interacts with VK_KHR_synchronization2
SPIR-V Dependencies
Contact

Other Extension Metadata

Last Modified Date
2022-02-21
Interactions and External Dependencies
  • This extension provides API support for GLSL_EXT_ray_cull_mask
  • Interacts with VK_KHR_ray_tracing_pipeline
  • Interacts with VK_KHR_synchronization2
Contributors
  • Stu Smith, AMD
  • Tobias Hector, AMD
  • Marius Bjorge, Arm
  • Tom Olson, Arm
  • Yuriy O’Donnell, Epic Games
  • Yunpeng Zhu, Huawei
  • Andrew Garrard, Imagination
  • Dae Kim, Imagination
  • Joshua Barczak, Intel
  • Lionel Landwerlin, Intel
  • Daniel Koch, NVIDIA
  • Eric Werness, NVIDIA
  • Spencer Fricke, Samsung

Description

VK_KHR_ray_tracing_maintenance1 adds a collection of minor ray tracing features, none of which would warrant an entire extension of their own.

The new features are as follows:

New Commands

If VK_KHR_ray_tracing_pipeline is supported:

New Structures

If VK_KHR_ray_tracing_pipeline is supported:

New Enum Constants

If VK_KHR_synchronization2 or Vulkan Version 1.3 and VK_KHR_ray_tracing_pipeline is supported:

If VK_EXT_device_generated_commands is supported:

If VK_KHR_synchronization2 or Vulkan Version 1.3 is supported:

New Built-In Variables

New SPIR-V Capabilities

Issues

None Yet!

Version History

  • Revision 1, 2022-02-21 (Members of the Vulkan Ray Tracing TSG)

    • 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

cmdTraceRaysIndirect2KHR Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

commandBuffer is the command buffer into which the command will be recorded.

-> ("indirectDeviceAddress" ::: DeviceAddress)

indirectDeviceAddress is a buffer device address which is a pointer to a TraceRaysIndirectCommand2KHR structure containing the trace ray parameters.

-> io () 

vkCmdTraceRaysIndirect2KHR - Initialize an indirect ray tracing dispatch with indirect shader binding tables

Description

cmdTraceRaysIndirect2KHR behaves similarly to cmdTraceRaysIndirectKHR except that shader binding table parameters as well as dispatch dimensions are read by the device from indirectDeviceAddress during execution.

Valid Usage

Valid Usage (Implicit)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support compute operations
  • This command must only be called outside of a render pass instance
  • This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryOutside Outside Compute Action

See Also

VK_KHR_ray_tracing_maintenance1, VK_KHR_ray_tracing_pipeline, CommandBuffer, DeviceAddress

data TraceRaysIndirectCommand2KHR Source #

VkTraceRaysIndirectCommand2KHR - Structure specifying the parameters of an indirect trace ray command with indirect shader binding tables

Description

The members of TraceRaysIndirectCommand2KHR have the same meaning as the similarly named parameters of cmdTraceRaysKHR.

Indirect shader binding table buffer parameters must satisfy the same memory alignment and binding requirements as their counterparts in cmdTraceRaysIndirectKHR and cmdTraceRaysKHR.

Valid Usage

  • If the buffer from which raygenShaderRecordAddress was queried is non-sparse then it must be bound completely and contiguously to a single DeviceMemory object

See Also

VK_KHR_ray_tracing_maintenance1, VK_KHR_ray_tracing_pipeline, DeviceAddress, DeviceSize

Constructors

TraceRaysIndirectCommand2KHR 

Fields

Instances

Instances details
Storable TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Show TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Eq TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

FromCStruct TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

ToCStruct TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Zero TraceRaysIndirectCommand2KHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

data PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source #

VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR - Structure describing the ray tracing maintenance features that can be supported by an implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceRayTracingMaintenance1FeaturesKHR 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. PhysicalDeviceRayTracingMaintenance1FeaturesKHR can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_KHR_ray_tracing_maintenance1, Bool32, StructureType

Constructors

PhysicalDeviceRayTracingMaintenance1FeaturesKHR 

Fields

Instances

Instances details
Storable PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Show PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Eq PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

FromCStruct PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

ToCStruct PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

Zero PhysicalDeviceRayTracingMaintenance1FeaturesKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1

type KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_ray_tracing_maintenance1" Source #

newtype IndirectCommandsTokenTypeEXT Source #

VkIndirectCommandsTokenTypeEXT - Enum specifying token commands

Description

'

Common TokensCommand Data
INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXTu32[] array of indices into the indirect execution set
INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXTu32[] raw data
INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXTu32 placeholder data (not accessed by shader)
Compute Tokens
INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXTDispatchIndirectCommand
Ray Tracing Tokens
INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXTTraceRaysIndirectCommand2KHR
Graphics State Tokens
INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXTBindIndexBufferIndirectCommandEXT
INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXTBindVertexBufferIndirectCommandEXT
Graphics Draw Tokens
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXTDrawIndexedIndirectCommand
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXTDrawIndirectCommand
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXTDrawMeshTasksIndirectCommandEXT
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXTDrawMeshTasksIndirectCommandNV
Graphics Draw Count Tokens
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXTDrawIndirectCountIndirectCommandEXT with VkDrawIndexedIndirectCommand
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXTDrawIndirectCountIndirectCommandEXT with VkDrawIndirectCommand
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXTDrawIndirectCountIndirectCommandEXT with VkDrawMeshTasksIndirectCommandEXT
INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXTDrawIndirectCountIndirectCommandEXT with VkDrawMeshTasksIndirectCommandNV

Supported Indirect Command Tokens

See Also

VK_EXT_device_generated_commands, IndirectCommandsLayoutTokenEXT

Instances

Instances details
Storable IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands

Read IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands

Show IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands

Eq IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands

Ord IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands

Zero IndirectCommandsTokenTypeEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_device_generated_commands