@@ -28,15 +28,18 @@ static const uint32_t RayQueryCommittedIntersectionGeneratedKHR = 2;
28
28
static const uint32_t RayQueryCandidateIntersectionTriangleKHR = 0 ;
29
29
static const uint32_t RayQueryCandidateIntersectionAABBKHR = 1 ;
30
30
31
+ [[vk::ext_instruction (spv::OpConvertUToAccelerationStructureKHR)]]
32
+ AccelerationStructureKHR accelerationStructureKHR (uint64_t u);
33
+
31
34
[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
32
35
[[vk::ext_extension ("SPV_KHR_ray_query" )]]
33
36
[[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);
35
38
36
39
[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
37
40
[[vk::ext_extension ("SPV_KHR_ray_query" )]]
38
41
[[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);
40
43
41
44
[[vk::ext_capability (spv::CapabilityRayQueryKHR)]]
42
45
[[vk::ext_extension ("SPV_KHR_ray_query" )]]
@@ -58,6 +61,11 @@ int rayQueryGetIntersectionInstanceIdKHR([[vk::ext_reference]] RayQueryKHR query
58
61
[[vk::ext_instruction (spv::OpRayQueryGetIntersectionPrimitiveIndexKHR)]]
59
62
int rayQueryGetIntersectionPrimitiveIndexKHR ([[vk::ext_reference]] RayQueryKHR query, uint32_t intersection);
60
63
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
+
61
69
// position fetch for ray tracing uses gl_HitTriangleVertexPositionsEXT -> HitTriangleVertexPositionsKHR decorated OpVariable
62
70
[[vk::ext_builtin_input (spv::BuiltInHitTriangleVertexPositionsKHR)]]
63
71
static const float32_t3 HitTriangleVertexPositionsKHR[3 ];
@@ -74,4 +82,4 @@ void rayQueryGetIntersectionTriangleVertexPositionsKHR([[vk::ext_reference]] Ray
74
82
}
75
83
}
76
84
77
- #endif // _NBL_BUILTIN_HLSL_SPIRV_INTRINSICS_RAYTRACING_INCLUDED_
85
+ #endif // _NBL_BUILTIN_HLSL_SPIRV_INTRINSICS_RAYTRACING_INCLUDED_
0 commit comments