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