@@ -28,15 +28,18 @@ static const uint32_t RayQueryCommittedIntersectionGeneratedKHR = 2;
2828static const uint32_t RayQueryCandidateIntersectionTriangleKHR = 0 ;
2929static const uint32_t RayQueryCandidateIntersectionAABBKHR = 1 ;
3030
31+ [[vk::ext_instruction (spv::OpConvertUToAccelerationStructureKHR)]]
32+ AccelerationStructureKHR accelerationStructureKHR (uint64_t u);
33+
3134[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
3235[[vk::ext_extension ("SPV_KHR_ray_query" )]]
3336[[vk::ext_instruction (spv::OpRayQueryInitializeKHR)]]
34- void rayQueryInitializeKHR ([[vk::ext_reference]] RayQueryKHR query, [[vk::ext_reference]] AccelerationStructureKHR AS, uint32_t flags, uint32_t cull mask, float3 origin, float32_t tmin, float3 direction, float32_t tmax);
37+ void rayQueryInitializeKHR ([[vk::ext_reference]] RayQueryKHR query, AccelerationStructureKHR AS, uint32_t flags, uint32_t cullMask, float32_t3 origin, float32_t tmin, float32_t3 direction, float32_t tmax);
3538
3639[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
3740[[vk::ext_extension ("SPV_KHR_ray_query" )]]
3841[[vk::ext_instruction (spv::OpRayQueryInitializeKHR)]]
39- void rayQueryInitializeKHR ([[vk::ext_reference]] RayQueryKHR query, [[vk::ext_reference]] RaytracingAccelerationStructure AS, uint32_t flags, uint32_t cull mask, float3 origin, float32_t tmin, float3 direction, float32_t tmax);
42+ void rayQueryInitializeKHR ([[vk::ext_reference]] RayQueryKHR query, RaytracingAccelerationStructure AS, uint32_t flags, uint32_t cullMask, float32_t3 origin, float32_t tmin, float32_t3 direction, float32_t tmax);
4043
4144[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
4245[[vk::ext_extension ("SPV_KHR_ray_query" )]]
@@ -58,6 +61,11 @@ int rayQueryGetIntersectionInstanceIdKHR([[vk::ext_reference]] RayQueryKHR query
5861[[vk::ext_instruction (spv::OpRayQueryGetIntersectionPrimitiveIndexKHR)]]
5962int rayQueryGetIntersectionPrimitiveIndexKHR ([[vk::ext_reference]] RayQueryKHR query, uint32_t intersection);
6063
64+ [[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
65+ [[vk::ext_extension ("SPV_KHR_ray_query" )]]
66+ [[vk::ext_instruction (spv::OpRayQueryGetIntersectionBarycentricsKHR)]]
67+ float2 rayQueryGetIntersectionBarycentricsKHR ([[vk::ext_reference]] RayQueryKHR query, uint32_t intersection);
68+
6169// position fetch for ray tracing uses gl_HitTriangleVertexPositionsEXT -> HitTriangleVertexPositionsKHR decorated OpVariable
6270[[vk::ext_builtin_input (spv::BuiltInHitTriangleVertexPositionsKHR)]]
6371static const float32_t3 HitTriangleVertexPositionsKHR[3 ];
@@ -74,4 +82,4 @@ void rayQueryGetIntersectionTriangleVertexPositionsKHR([[vk::ext_reference]] Ray
7482}
7583}
7684
77- #endif // _NBL_BUILTIN_HLSL_SPIRV_INTRINSICS_RAYTRACING_INCLUDED_
85+ #endif // _NBL_BUILTIN_HLSL_SPIRV_INTRINSICS_RAYTRACING_INCLUDED_
0 commit comments