1spv.RayGenShader.rgen
2// Module Version 10000
3// Generated by (magic number): 8000a
4// Id's are bound by 54
5
6                              Capability RayTracingNV
7                              Extension  "SPV_NV_ray_tracing"
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint RayGenerationKHR 4  "main" 11 21
11                              Source GLSL 460
12                              SourceExtension  "GL_NV_ray_tracing"
13                              Name 4  "main"
14                              Name 8  "lx"
15                              Name 11  "gl_LaunchIDNV"
16                              Name 16  "ly"
17                              Name 20  "sx"
18                              Name 21  "gl_LaunchSizeNV"
19                              Name 24  "sy"
20                              Name 29  "accNV0"
21                              Name 37  "block"
22                              MemberName 37(block) 0  "dir"
23                              MemberName 37(block) 1  "origin"
24                              Name 39  ""
25                              Name 50  "accNV1"
26                              Name 53  "payload"
27                              Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
28                              Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
29                              Decorate 29(accNV0) DescriptorSet 0
30                              Decorate 29(accNV0) Binding 0
31                              MemberDecorate 37(block) 0 Offset 0
32                              MemberDecorate 37(block) 1 Offset 16
33                              Decorate 37(block) BufferBlock
34                              Decorate 39 DescriptorSet 0
35                              Decorate 39 Binding 2
36                              Decorate 50(accNV1) DescriptorSet 0
37                              Decorate 50(accNV1) Binding 1
38                              Decorate 53(payload) Location 0
39               2:             TypeVoid
40               3:             TypeFunction 2
41               6:             TypeInt 32 0
42               7:             TypePointer Function 6(int)
43               9:             TypeVector 6(int) 3
44              10:             TypePointer Input 9(ivec3)
4511(gl_LaunchIDNV):     10(ptr) Variable Input
46              12:      6(int) Constant 0
47              13:             TypePointer Input 6(int)
48              17:      6(int) Constant 1
4921(gl_LaunchSizeNV):     10(ptr) Variable Input
50              27:             TypeAccelerationStructureKHR
51              28:             TypePointer UniformConstant 27
52      29(accNV0):     28(ptr) Variable UniformConstant
53              35:             TypeFloat 32
54              36:             TypeVector 35(float) 3
55       37(block):             TypeStruct 36(fvec3) 36(fvec3)
56              38:             TypePointer ShaderRecordBufferKHR 37(block)
57              39:     38(ptr) Variable ShaderRecordBufferKHR
58              40:             TypeInt 32 1
59              41:     40(int) Constant 1
60              42:             TypePointer ShaderRecordBufferKHR 36(fvec3)
61              45:   35(float) Constant 1056964608
62              46:     40(int) Constant 0
63              49:   35(float) Constant 1061158912
64      50(accNV1):     28(ptr) Variable UniformConstant
65              51:             TypeVector 35(float) 4
66              52:             TypePointer RayPayloadKHR 51(fvec4)
67     53(payload):     52(ptr) Variable RayPayloadKHR
68         4(main):           2 Function None 3
69               5:             Label
70           8(lx):      7(ptr) Variable Function
71          16(ly):      7(ptr) Variable Function
72          20(sx):      7(ptr) Variable Function
73          24(sy):      7(ptr) Variable Function
74              14:     13(ptr) AccessChain 11(gl_LaunchIDNV) 12
75              15:      6(int) Load 14
76                              Store 8(lx) 15
77              18:     13(ptr) AccessChain 11(gl_LaunchIDNV) 17
78              19:      6(int) Load 18
79                              Store 16(ly) 19
80              22:     13(ptr) AccessChain 21(gl_LaunchSizeNV) 12
81              23:      6(int) Load 22
82                              Store 20(sx) 23
83              25:     13(ptr) AccessChain 21(gl_LaunchSizeNV) 17
84              26:      6(int) Load 25
85                              Store 24(sy) 26
86              30:          27 Load 29(accNV0)
87              31:      6(int) Load 8(lx)
88              32:      6(int) Load 16(ly)
89              33:      6(int) Load 20(sx)
90              34:      6(int) Load 24(sy)
91              43:     42(ptr) AccessChain 39 41
92              44:   36(fvec3) Load 43
93              47:     42(ptr) AccessChain 39 46
94              48:   36(fvec3) Load 47
95                              TraceNV 30 31 32 33 34 12 44 45 48 49 41
96                              Return
97                              FunctionEnd
98