packages feed

vulkan-3.21: src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot

{-# language CPP #-}
-- | = Name
--
-- VK_NV_ray_tracing - device extension
--
-- == VK_NV_ray_tracing
--
-- [__Name String__]
--     @VK_NV_ray_tracing@
--
-- [__Extension Type__]
--     Device extension
--
-- [__Registered Extension Number__]
--     166
--
-- [__Revision__]
--     3
--
-- [__Extension and Version Dependencies__]
--
--     -   Requires support for Vulkan 1.0
--
--     -   Requires @VK_KHR_get_physical_device_properties2@ to be enabled
--         for any device-level functionality
--
--     -   Requires @VK_KHR_get_memory_requirements2@ to be enabled for any
--         device-level functionality
--
-- [__Contact__]
--
--     -   Eric Werness
--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_ray_tracing] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NV_ray_tracing extension>> >
--
-- == Other Extension Metadata
--
-- [__Last Modified Date__]
--     2018-11-20
--
-- [__Interactions and External Dependencies__]
--
--     -   This extension requires
--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_ray_tracing.html SPV_NV_ray_tracing>
--
--     -   This extension provides API support for
--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_ray_tracing.txt GL_NV_ray_tracing>
--
-- [__Contributors__]
--
--     -   Eric Werness, NVIDIA
--
--     -   Ashwin Lele, NVIDIA
--
--     -   Robert Stepinski, NVIDIA
--
--     -   Nuno Subtil, NVIDIA
--
--     -   Christoph Kubisch, NVIDIA
--
--     -   Martin Stich, NVIDIA
--
--     -   Daniel Koch, NVIDIA
--
--     -   Jeff Bolz, NVIDIA
--
--     -   Joshua Barczak, Intel
--
--     -   Tobias Hector, AMD
--
--     -   Henrik Rydgard, NVIDIA
--
--     -   Pascal Gautron, NVIDIA
--
-- == Description
--
-- Rasterization has been the dominant method to produce interactive
-- graphics, but increasing performance of graphics hardware has made ray
-- tracing a viable option for interactive rendering. Being able to
-- integrate ray tracing with traditional rasterization makes it easier for
-- applications to incrementally add ray traced effects to existing
-- applications or to do hybrid approaches with rasterization for primary
-- visibility and ray tracing for secondary queries.
--
-- To enable ray tracing, this extension adds a few different categories of
-- new functionality:
--
-- -   Acceleration structure objects and build commands
--
-- -   A new pipeline type with new shader domains
--
-- -   An indirection table to link shader groups with acceleration
--     structure items
--
-- This extension adds support for the following SPIR-V extension in
-- Vulkan:
--
-- -   @SPV_NV_ray_tracing@
--
-- == New Object Types
--
-- -   'Vulkan.Extensions.Handles.AccelerationStructureNV'
--
-- == New Commands
--
-- -   'bindAccelerationStructureMemoryNV'
--
-- -   'cmdBuildAccelerationStructureNV'
--
-- -   'cmdCopyAccelerationStructureNV'
--
-- -   'cmdTraceRaysNV'
--
-- -   'cmdWriteAccelerationStructuresPropertiesNV'
--
-- -   'compileDeferredNV'
--
-- -   'createAccelerationStructureNV'
--
-- -   'createRayTracingPipelinesNV'
--
-- -   'destroyAccelerationStructureNV'
--
-- -   'getAccelerationStructureHandleNV'
--
-- -   'getAccelerationStructureMemoryRequirementsNV'
--
-- -   'getRayTracingShaderGroupHandlesNV'
--
-- == New Structures
--
-- -   'AabbPositionsNV'
--
-- -   'AccelerationStructureCreateInfoNV'
--
-- -   'AccelerationStructureInfoNV'
--
-- -   'AccelerationStructureInstanceNV'
--
-- -   'AccelerationStructureMemoryRequirementsInfoNV'
--
-- -   'BindAccelerationStructureMemoryInfoNV'
--
-- -   'GeometryAABBNV'
--
-- -   'GeometryDataNV'
--
-- -   'GeometryNV'
--
-- -   'GeometryTrianglesNV'
--
-- -   'Vulkan.Extensions.VK_KHR_get_memory_requirements2.MemoryRequirements2KHR'
--
-- -   'RayTracingPipelineCreateInfoNV'
--
-- -   'RayTracingShaderGroupCreateInfoNV'
--
-- -   'TransformMatrixNV'
--
-- -   Extending
--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
--
--     -   'PhysicalDeviceRayTracingPropertiesNV'
--
-- -   Extending 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet':
--
--     -   'WriteDescriptorSetAccelerationStructureNV'
--
-- == New Enums
--
-- -   'AccelerationStructureMemoryRequirementsTypeNV'
--
-- -   'AccelerationStructureTypeNV'
--
-- -   'BuildAccelerationStructureFlagBitsNV'
--
-- -   'CopyAccelerationStructureModeNV'
--
-- -   'GeometryFlagBitsNV'
--
-- -   'GeometryInstanceFlagBitsNV'
--
-- -   'GeometryTypeNV'
--
-- -   'RayTracingShaderGroupTypeNV'
--
-- == New Bitmasks
--
-- -   'BuildAccelerationStructureFlagsNV'
--
-- -   'GeometryFlagsNV'
--
-- -   'GeometryInstanceFlagsNV'
--
-- == New Enum Constants
--
-- -   'NV_RAY_TRACING_EXTENSION_NAME'
--
-- -   'NV_RAY_TRACING_SPEC_VERSION'
--
-- -   'Vulkan.Core10.APIConstants.SHADER_UNUSED_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureTypeKHR':
--
--     -   'ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV'
--
--     -   'ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlagBits':
--
--     -   'ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV'
--
--     -   'ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV'
--
-- -   Extending
--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits':
--
--     -   'BUFFER_USAGE_RAY_TRACING_BIT_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.BuildAccelerationStructureFlagBitsKHR':
--
--     -   'BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV'
--
--     -   'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV'
--
--     -   'BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV'
--
--     -   'BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV'
--
--     -   'BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR':
--
--     -   'COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV'
--
--     -   'COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':
--
--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT'
--
-- -   Extending 'Vulkan.Core10.Enums.DescriptorType.DescriptorType':
--
--     -   'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagBitsKHR':
--
--     -   'GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV'
--
--     -   'GEOMETRY_OPAQUE_BIT_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagBitsKHR':
--
--     -   'GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV'
--
--     -   'GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV'
--
--     -   'GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV'
--
--     -   'GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR':
--
--     -   'GEOMETRY_TYPE_AABBS_NV'
--
--     -   'GEOMETRY_TYPE_TRIANGLES_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':
--
--     -   'INDEX_TYPE_NONE_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
--
--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_ACCELERATION_STRUCTURE_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint':
--
--     -   'PIPELINE_BIND_POINT_RAY_TRACING_NV'
--
-- -   Extending
--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits':
--
--     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEFER_COMPILE_BIT_NV'
--
-- -   Extending
--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits':
--
--     -   'PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV'
--
--     -   'PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.QueryType.QueryType':
--
--     -   'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV'
--
-- -   Extending
--     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR':
--
--     -   'RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV'
--
--     -   'RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV'
--
--     -   'RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV'
--
-- -   Extending
--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits':
--
--     -   'SHADER_STAGE_ANY_HIT_BIT_NV'
--
--     -   'SHADER_STAGE_CALLABLE_BIT_NV'
--
--     -   'SHADER_STAGE_CLOSEST_HIT_BIT_NV'
--
--     -   'SHADER_STAGE_INTERSECTION_BIT_NV'
--
--     -   'SHADER_STAGE_MISS_BIT_NV'
--
--     -   'SHADER_STAGE_RAYGEN_BIT_NV'
--
-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_GEOMETRY_AABB_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_GEOMETRY_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV'
--
--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV'
--
-- == New or Modified Built-In Variables
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-launchid LaunchIdNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-launchsize LaunchSizeNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-worldrayorigin WorldRayOriginNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-worldraydirection WorldRayDirectionNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-objectrayorigin ObjectRayOriginNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-objectraydirection ObjectRayDirectionNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-raytmin RayTminNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-raytmax RayTmaxNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-instancecustomindex InstanceCustomIndexNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-instanceid InstanceId>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-objecttoworld ObjectToWorldNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-worldtoobject WorldToObjectNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-hitt HitTNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-hitkind HitKindNV>
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#interfaces-builtin-variables-incomingrayflags IncomingRayFlagsNV>
--
-- -   (modified)@PrimitiveId@
--
-- == New SPIR-V Capabilities
--
-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-RayTracingNV RayTracingNV>
--
-- == Issues
--
-- 1) Are there issues?
--
-- __RESOLVED__: Yes.
--
-- == Sample Code
--
-- Example ray generation GLSL shader
--
-- > #version 450 core
-- > #extension GL_NV_ray_tracing : require
-- > layout(set = 0, binding = 0, rgba8) uniform image2D image;
-- > layout(set = 0, binding = 1) uniform accelerationStructureNV as;
-- > layout(location = 0) rayPayloadNV float payload;
-- >
-- > void main()
-- > {
-- >    vec4 col = vec4(0, 0, 0, 1);
-- >
-- >    vec3 origin = vec3(float(gl_LaunchIDNV.x)/float(gl_LaunchSizeNV.x), float(gl_LaunchIDNV.y)/float(gl_LaunchSizeNV.y), 1.0);
-- >    vec3 dir = vec3(0.0, 0.0, -1.0);
-- >
-- >    traceNV(as, 0, 0xff, 0, 1, 0, origin, 0.0, dir, 1000.0, 0);
-- >
-- >    col.y = payload;
-- >
-- >    imageStore(image, ivec2(gl_LaunchIDNV.xy), col);
-- > }
--
-- == Version History
--
-- -   Revision 1, 2018-09-11 (Robert Stepinski, Nuno Subtil, Eric Werness)
--
--     -   Internal revisions
--
-- -   Revision 2, 2018-10-19 (Eric Werness)
--
--     -   rename to VK_NV_ray_tracing, add support for callables.
--
--     -   too many updates to list
--
-- -   Revision 3, 2018-11-20 (Daniel Koch)
--
--     -   update to use InstanceId instead of InstanceIndex as
--         implemented.
--
-- == See Also
--
-- 'Vulkan.Core10.APIConstants.SHADER_UNUSED_NV', 'AabbPositionsNV',
-- 'AccelerationStructureCreateInfoNV', 'AccelerationStructureInfoNV',
-- 'AccelerationStructureInstanceNV',
-- 'AccelerationStructureMemoryRequirementsInfoNV',
-- 'AccelerationStructureMemoryRequirementsTypeNV',
-- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
-- 'AccelerationStructureTypeNV', 'BindAccelerationStructureMemoryInfoNV',
-- 'BuildAccelerationStructureFlagBitsNV',
-- 'BuildAccelerationStructureFlagsNV', 'CopyAccelerationStructureModeNV',
-- 'GeometryAABBNV', 'GeometryDataNV', 'GeometryFlagBitsNV',
-- 'GeometryFlagsNV', 'GeometryInstanceFlagBitsNV',
-- 'GeometryInstanceFlagsNV', 'GeometryNV', 'GeometryTrianglesNV',
-- 'GeometryTypeNV',
-- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.MemoryRequirements2KHR',
-- 'PhysicalDeviceRayTracingPropertiesNV',
-- 'RayTracingPipelineCreateInfoNV', 'RayTracingShaderGroupCreateInfoNV',
-- 'RayTracingShaderGroupTypeNV', 'TransformMatrixNV',
-- 'WriteDescriptorSetAccelerationStructureNV',
-- 'bindAccelerationStructureMemoryNV', 'cmdBuildAccelerationStructureNV',
-- 'cmdCopyAccelerationStructureNV', 'cmdTraceRaysNV',
-- 'cmdWriteAccelerationStructuresPropertiesNV', 'compileDeferredNV',
-- 'createAccelerationStructureNV', 'createRayTracingPipelinesNV',
-- 'destroyAccelerationStructureNV', 'getAccelerationStructureHandleNV',
-- 'getAccelerationStructureMemoryRequirementsNV',
-- 'getRayTracingShaderGroupHandlesNV'
--
-- == Document Notes
--
-- For more information, see the
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_ray_tracing Vulkan Specification>
--
-- This page is a generated document. Fixes and changes should be made to
-- the generator scripts, not directly.
module Vulkan.Extensions.VK_NV_ray_tracing  ( AccelerationStructureCreateInfoNV
                                            , AccelerationStructureInfoNV
                                            , AccelerationStructureMemoryRequirementsInfoNV
                                            , BindAccelerationStructureMemoryInfoNV
                                            , GeometryAABBNV
                                            , GeometryDataNV
                                            , GeometryNV
                                            , GeometryTrianglesNV
                                            , PhysicalDeviceRayTracingPropertiesNV
                                            , RayTracingPipelineCreateInfoNV
                                            , RayTracingShaderGroupCreateInfoNV
                                            , WriteDescriptorSetAccelerationStructureNV
                                            ) where

import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (ToCStruct)
import Data.Kind (Type)
import {-# SOURCE #-} Vulkan.CStruct.Extends (Chain)
import {-# SOURCE #-} Vulkan.CStruct.Extends (Extendss)
import {-# SOURCE #-} Vulkan.CStruct.Extends (PeekChain)
import {-# SOURCE #-} Vulkan.CStruct.Extends (PokeChain)
data AccelerationStructureCreateInfoNV

instance ToCStruct AccelerationStructureCreateInfoNV
instance Show AccelerationStructureCreateInfoNV

instance FromCStruct AccelerationStructureCreateInfoNV


data AccelerationStructureInfoNV

instance ToCStruct AccelerationStructureInfoNV
instance Show AccelerationStructureInfoNV

instance FromCStruct AccelerationStructureInfoNV


data AccelerationStructureMemoryRequirementsInfoNV

instance ToCStruct AccelerationStructureMemoryRequirementsInfoNV
instance Show AccelerationStructureMemoryRequirementsInfoNV

instance FromCStruct AccelerationStructureMemoryRequirementsInfoNV


data BindAccelerationStructureMemoryInfoNV

instance ToCStruct BindAccelerationStructureMemoryInfoNV
instance Show BindAccelerationStructureMemoryInfoNV

instance FromCStruct BindAccelerationStructureMemoryInfoNV


data GeometryAABBNV

instance ToCStruct GeometryAABBNV
instance Show GeometryAABBNV

instance FromCStruct GeometryAABBNV


data GeometryDataNV

instance ToCStruct GeometryDataNV
instance Show GeometryDataNV

instance FromCStruct GeometryDataNV


data GeometryNV

instance ToCStruct GeometryNV
instance Show GeometryNV

instance FromCStruct GeometryNV


data GeometryTrianglesNV

instance ToCStruct GeometryTrianglesNV
instance Show GeometryTrianglesNV

instance FromCStruct GeometryTrianglesNV


data PhysicalDeviceRayTracingPropertiesNV

instance ToCStruct PhysicalDeviceRayTracingPropertiesNV
instance Show PhysicalDeviceRayTracingPropertiesNV

instance FromCStruct PhysicalDeviceRayTracingPropertiesNV


type role RayTracingPipelineCreateInfoNV nominal
data RayTracingPipelineCreateInfoNV (es :: [Type])

instance (Extendss RayTracingPipelineCreateInfoNV es, PokeChain es) => ToCStruct (RayTracingPipelineCreateInfoNV es)
instance Show (Chain es) => Show (RayTracingPipelineCreateInfoNV es)

instance (Extendss RayTracingPipelineCreateInfoNV es, PeekChain es) => FromCStruct (RayTracingPipelineCreateInfoNV es)


data RayTracingShaderGroupCreateInfoNV

instance ToCStruct RayTracingShaderGroupCreateInfoNV
instance Show RayTracingShaderGroupCreateInfoNV

instance FromCStruct RayTracingShaderGroupCreateInfoNV


data WriteDescriptorSetAccelerationStructureNV

instance ToCStruct WriteDescriptorSetAccelerationStructureNV
instance Show WriteDescriptorSetAccelerationStructureNV

instance FromCStruct WriteDescriptorSetAccelerationStructureNV