Merge pull request #2974 from thoave-arm/EOpConstructAccStruct

Make GL_KHR_ray_query provide EOpConstructAccStruct
This commit is contained in:
Greg Fischer
2022-07-22 10:51:42 -06:00
committed by GitHub
5 changed files with 73 additions and 2 deletions

View File

@@ -0,0 +1,51 @@
rayQuery-OpConvertUToAccelerationStructureKHR.comp
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 28
Capability Shader
Capability RayQueryKHR
Extension "SPV_KHR_ray_query"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 460
SourceExtension "GL_EXT_ray_query"
Name 4 "main"
Name 8 "rayQuery"
Name 11 "params"
MemberName 11(params) 0 "tlas"
Name 13 ""
MemberDecorate 11(params) 0 Offset 0
Decorate 11(params) Block
2: TypeVoid
3: TypeFunction 2
6: TypeRayQueryKHR
7: TypePointer Private 6
8(rayQuery): 7(ptr) Variable Private
9: TypeInt 32 0
10: TypeVector 9(int) 2
11(params): TypeStruct 10(ivec2)
12: TypePointer PushConstant 11(params)
13: 12(ptr) Variable PushConstant
14: TypeInt 32 1
15: 14(int) Constant 0
16: TypePointer PushConstant 10(ivec2)
19: TypeAccelerationStructureKHR
21: 9(int) Constant 0
22: TypeFloat 32
23: TypeVector 22(float) 3
24: 22(float) Constant 0
25: 23(fvec3) ConstantComposite 24 24 24
26: 22(float) Constant 1065353216
27: 23(fvec3) ConstantComposite 26 26 26
4(main): 2 Function None 3
5: Label
17: 16(ptr) AccessChain 13 15
18: 10(ivec2) Load 17
20: 19 ConvertUToAccelerationStructureKHR 18
RayQueryInitializeKHR 8(rayQuery) 20 21 21 25 24 27 26
RayQueryTerminateKHR 8(rayQuery)
Return
FunctionEnd

View File

@@ -0,0 +1,15 @@
#version 460
#extension GL_EXT_ray_query : enable
layout(push_constant, std140) uniform params
{
uvec2 tlas;
};
void main()
{
rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, accelerationStructureEXT(tlas), 0, 0, vec3(0.0), 0.0, vec3(1.0), 1.0);
rayQueryTerminateEXT(rayQuery);
}