mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
167 lines
8.3 KiB
Plaintext
167 lines
8.3 KiB
Plaintext
rayQuery-initialize.rgen
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 103
|
|
|
|
Capability RayQueryKHR
|
|
Capability RayTracingNV
|
|
Extension "SPV_KHR_ray_query"
|
|
Extension "SPV_NV_ray_tracing"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint RayGenerationKHR 4 "main" 23 28
|
|
Source GLSL 460
|
|
SourceExtension "GL_EXT_ray_query"
|
|
SourceExtension "GL_NV_ray_tracing"
|
|
Name 4 "main"
|
|
Name 8 "launchIndex("
|
|
Name 14 "Ray"
|
|
MemberName 14(Ray) 0 "pos"
|
|
MemberName 14(Ray) 1 "tmin"
|
|
MemberName 14(Ray) 2 "dir"
|
|
MemberName 14(Ray) 3 "tmax"
|
|
Name 19 "doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;"
|
|
Name 17 "rayQuery"
|
|
Name 18 "ray"
|
|
Name 23 "gl_LaunchIDNV"
|
|
Name 28 "gl_LaunchSizeNV"
|
|
Name 50 "rtas"
|
|
Name 69 "index"
|
|
Name 71 "ray"
|
|
Name 72 "Ray"
|
|
MemberName 72(Ray) 0 "pos"
|
|
MemberName 72(Ray) 1 "tmin"
|
|
MemberName 72(Ray) 2 "dir"
|
|
MemberName 72(Ray) 3 "tmax"
|
|
Name 74 "Rays"
|
|
MemberName 74(Rays) 0 "rays"
|
|
Name 76 ""
|
|
Name 89 "rayQuery"
|
|
Name 90 "param"
|
|
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
|
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
|
Decorate 50(rtas) Binding 0
|
|
Decorate 50(rtas) DescriptorSet 0
|
|
MemberDecorate 72(Ray) 0 Offset 0
|
|
MemberDecorate 72(Ray) 1 Offset 12
|
|
MemberDecorate 72(Ray) 2 Offset 16
|
|
MemberDecorate 72(Ray) 3 Offset 28
|
|
Decorate 73 ArrayStride 32
|
|
Decorate 74(Rays) BufferBlock
|
|
MemberDecorate 74(Rays) 0 Offset 0
|
|
Decorate 76 Binding 2
|
|
Decorate 76 DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypeFunction 6(int)
|
|
10: TypeRayQueryKHR
|
|
11: TypePointer Private 10
|
|
12: TypeFloat 32
|
|
13: TypeVector 12(float) 3
|
|
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
|
15: TypePointer Function 14(Ray)
|
|
16: TypeFunction 2 11(ptr) 15(ptr)
|
|
21: TypeVector 6(int) 3
|
|
22: TypePointer Input 21(ivec3)
|
|
23(gl_LaunchIDNV): 22(ptr) Variable Input
|
|
24: 6(int) Constant 2
|
|
25: TypePointer Input 6(int)
|
|
28(gl_LaunchSizeNV): 22(ptr) Variable Input
|
|
29: 6(int) Constant 0
|
|
33: 6(int) Constant 1
|
|
48: TypeAccelerationStructureKHR
|
|
49: TypePointer UniformConstant 48
|
|
50(rtas): 49(ptr) Variable UniformConstant
|
|
52: 6(int) Constant 16
|
|
53: TypeInt 32 1
|
|
54: 53(int) Constant 0
|
|
55: TypePointer Function 13(fvec3)
|
|
58: 53(int) Constant 1
|
|
59: TypePointer Function 12(float)
|
|
62: 53(int) Constant 2
|
|
65: 53(int) Constant 3
|
|
68: TypePointer Function 6(int)
|
|
72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
|
73: TypeRuntimeArray 72(Ray)
|
|
74(Rays): TypeStruct 73
|
|
75: TypePointer Uniform 74(Rays)
|
|
76: 75(ptr) Variable Uniform
|
|
78: TypePointer Uniform 72(Ray)
|
|
89(rayQuery): 11(ptr) Variable Private
|
|
94: 6(int) Constant 32
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
69(index): 68(ptr) Variable Function
|
|
71(ray): 15(ptr) Variable Function
|
|
90(param): 15(ptr) Variable Function
|
|
70: 6(int) FunctionCall 8(launchIndex()
|
|
Store 69(index) 70
|
|
77: 6(int) Load 69(index)
|
|
79: 78(ptr) AccessChain 76 54 77
|
|
80: 72(Ray) Load 79
|
|
81: 13(fvec3) CompositeExtract 80 0
|
|
82: 55(ptr) AccessChain 71(ray) 54
|
|
Store 82 81
|
|
83: 12(float) CompositeExtract 80 1
|
|
84: 59(ptr) AccessChain 71(ray) 58
|
|
Store 84 83
|
|
85: 13(fvec3) CompositeExtract 80 2
|
|
86: 55(ptr) AccessChain 71(ray) 62
|
|
Store 86 85
|
|
87: 12(float) CompositeExtract 80 3
|
|
88: 59(ptr) AccessChain 71(ray) 65
|
|
Store 88 87
|
|
91: 14(Ray) Load 71(ray)
|
|
Store 90(param) 91
|
|
92: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(rayQuery) 90(param)
|
|
93: 48 Load 50(rtas)
|
|
95: 55(ptr) AccessChain 71(ray) 54
|
|
96: 13(fvec3) Load 95
|
|
97: 59(ptr) AccessChain 71(ray) 58
|
|
98: 12(float) Load 97
|
|
99: 55(ptr) AccessChain 71(ray) 62
|
|
100: 13(fvec3) Load 99
|
|
101: 59(ptr) AccessChain 71(ray) 65
|
|
102: 12(float) Load 101
|
|
RayQueryInitializeKHR 89(rayQuery) 93 33 94 96 98 100 102
|
|
Return
|
|
FunctionEnd
|
|
8(launchIndex(): 6(int) Function None 7
|
|
9: Label
|
|
26: 25(ptr) AccessChain 23(gl_LaunchIDNV) 24
|
|
27: 6(int) Load 26
|
|
30: 25(ptr) AccessChain 28(gl_LaunchSizeNV) 29
|
|
31: 6(int) Load 30
|
|
32: 6(int) IMul 27 31
|
|
34: 25(ptr) AccessChain 28(gl_LaunchSizeNV) 33
|
|
35: 6(int) Load 34
|
|
36: 6(int) IMul 32 35
|
|
37: 25(ptr) AccessChain 23(gl_LaunchIDNV) 33
|
|
38: 6(int) Load 37
|
|
39: 25(ptr) AccessChain 28(gl_LaunchSizeNV) 29
|
|
40: 6(int) Load 39
|
|
41: 6(int) IMul 38 40
|
|
42: 6(int) IAdd 36 41
|
|
43: 25(ptr) AccessChain 23(gl_LaunchIDNV) 29
|
|
44: 6(int) Load 43
|
|
45: 6(int) IAdd 42 44
|
|
ReturnValue 45
|
|
FunctionEnd
|
|
19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;): 2 Function None 16
|
|
17(rayQuery): 11(ptr) FunctionParameter
|
|
18(ray): 15(ptr) FunctionParameter
|
|
20: Label
|
|
51: 48 Load 50(rtas)
|
|
56: 55(ptr) AccessChain 18(ray) 54
|
|
57: 13(fvec3) Load 56
|
|
60: 59(ptr) AccessChain 18(ray) 58
|
|
61: 12(float) Load 60
|
|
63: 55(ptr) AccessChain 18(ray) 62
|
|
64: 13(fvec3) Load 63
|
|
66: 59(ptr) AccessChain 18(ray) 65
|
|
67: 12(float) Load 66
|
|
RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
|
|
Return
|
|
FunctionEnd
|