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
96 lines
4.7 KiB
Plaintext
96 lines
4.7 KiB
Plaintext
spv.RayGenShader.rgen
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 54
|
|
|
|
Capability RayTracingNV
|
|
Extension "SPV_NV_ray_tracing"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint RayGenerationKHR 4 "main" 11 21
|
|
Source GLSL 460
|
|
SourceExtension "GL_NV_ray_tracing"
|
|
Name 4 "main"
|
|
Name 8 "lx"
|
|
Name 11 "gl_LaunchIDNV"
|
|
Name 16 "ly"
|
|
Name 20 "sx"
|
|
Name 21 "gl_LaunchSizeNV"
|
|
Name 24 "sy"
|
|
Name 29 "accNV0"
|
|
Name 37 "block"
|
|
MemberName 37(block) 0 "dir"
|
|
MemberName 37(block) 1 "origin"
|
|
Name 39 ""
|
|
Name 50 "accNV1"
|
|
Name 53 "payload"
|
|
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
|
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
|
Decorate 29(accNV0) Binding 0
|
|
Decorate 29(accNV0) DescriptorSet 0
|
|
Decorate 37(block) BufferBlock
|
|
MemberDecorate 37(block) 0 Offset 0
|
|
MemberDecorate 37(block) 1 Offset 16
|
|
Decorate 50(accNV1) Binding 1
|
|
Decorate 50(accNV1) DescriptorSet 0
|
|
Decorate 53(payload) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
9: TypeVector 6(int) 3
|
|
10: TypePointer Input 9(ivec3)
|
|
11(gl_LaunchIDNV): 10(ptr) Variable Input
|
|
12: 6(int) Constant 0
|
|
13: TypePointer Input 6(int)
|
|
17: 6(int) Constant 1
|
|
21(gl_LaunchSizeNV): 10(ptr) Variable Input
|
|
27: TypeAccelerationStructureKHR
|
|
28: TypePointer UniformConstant 27
|
|
29(accNV0): 28(ptr) Variable UniformConstant
|
|
35: TypeFloat 32
|
|
36: TypeVector 35(float) 3
|
|
37(block): TypeStruct 36(fvec3) 36(fvec3)
|
|
38: TypePointer ShaderRecordBufferKHR 37(block)
|
|
39: 38(ptr) Variable ShaderRecordBufferKHR
|
|
40: TypeInt 32 1
|
|
41: 40(int) Constant 1
|
|
42: TypePointer ShaderRecordBufferKHR 36(fvec3)
|
|
45: 35(float) Constant 1056964608
|
|
46: 40(int) Constant 0
|
|
49: 35(float) Constant 1061158912
|
|
50(accNV1): 28(ptr) Variable UniformConstant
|
|
51: TypeVector 35(float) 4
|
|
52: TypePointer RayPayloadKHR 51(fvec4)
|
|
53(payload): 52(ptr) Variable RayPayloadKHR
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(lx): 7(ptr) Variable Function
|
|
16(ly): 7(ptr) Variable Function
|
|
20(sx): 7(ptr) Variable Function
|
|
24(sy): 7(ptr) Variable Function
|
|
14: 13(ptr) AccessChain 11(gl_LaunchIDNV) 12
|
|
15: 6(int) Load 14
|
|
Store 8(lx) 15
|
|
18: 13(ptr) AccessChain 11(gl_LaunchIDNV) 17
|
|
19: 6(int) Load 18
|
|
Store 16(ly) 19
|
|
22: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 12
|
|
23: 6(int) Load 22
|
|
Store 20(sx) 23
|
|
25: 13(ptr) AccessChain 21(gl_LaunchSizeNV) 17
|
|
26: 6(int) Load 25
|
|
Store 24(sy) 26
|
|
30: 27 Load 29(accNV0)
|
|
31: 6(int) Load 8(lx)
|
|
32: 6(int) Load 16(ly)
|
|
33: 6(int) Load 20(sx)
|
|
34: 6(int) Load 24(sy)
|
|
43: 42(ptr) AccessChain 39 41
|
|
44: 36(fvec3) Load 43
|
|
47: 42(ptr) AccessChain 39 46
|
|
48: 36(fvec3) Load 47
|
|
TraceNV 30 31 32 33 34 12 44 45 48 49 41
|
|
Return
|
|
FunctionEnd
|