glslang/Test/baseResults/spv.ClosestHitShader.rchit.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
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
2024-06-28 19:16:59 -04:00

167 lines
8.7 KiB
Plaintext

spv.ClosestHitShader.rchit
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 87
Capability RayTracingNV
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint ClosestHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 57 63 66
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
Name 9 "v0"
Name 11 "gl_LaunchIDNV"
Name 13 "v1"
Name 14 "gl_LaunchSizeNV"
Name 18 "v2"
Name 20 "gl_PrimitiveID"
Name 22 "v3"
Name 23 "gl_InstanceID"
Name 25 "v4"
Name 26 "gl_InstanceCustomIndexNV"
Name 31 "v5"
Name 33 "gl_WorldRayOriginNV"
Name 35 "v6"
Name 36 "gl_WorldRayDirectionNV"
Name 38 "v7"
Name 39 "gl_ObjectRayOriginNV"
Name 41 "v8"
Name 42 "gl_ObjectRayDirectionNV"
Name 45 "v9"
Name 47 "gl_RayTminNV"
Name 49 "v10"
Name 50 "gl_RayTmaxNV"
Name 52 "v11"
Name 55 "v12"
Name 57 "gl_HitKindNV"
Name 61 "v13"
Name 63 "gl_ObjectToWorldNV"
Name 65 "v14"
Name 66 "gl_WorldToObjectNV"
Name 70 "accNV"
Name 84 "localPayload"
Name 86 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 23(gl_InstanceID) BuiltIn InstanceId
Decorate 26(gl_InstanceCustomIndexNV) BuiltIn InstanceCustomIndexKHR
Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginKHR
Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionKHR
Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginKHR
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR
Decorate 57(gl_HitKindNV) BuiltIn HitKindKHR
Decorate 63(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
Decorate 66(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
Decorate 70(accNV) Binding 0
Decorate 70(accNV) DescriptorSet 0
Decorate 84(localPayload) Location 0
Decorate 86(incomingPayload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
10: TypePointer Input 7(ivec3)
11(gl_LaunchIDNV): 10(ptr) Variable Input
14(gl_LaunchSizeNV): 10(ptr) Variable Input
16: TypeInt 32 1
17: TypePointer Function 16(int)
19: TypePointer Input 16(int)
20(gl_PrimitiveID): 19(ptr) Variable Input
23(gl_InstanceID): 19(ptr) Variable Input
26(gl_InstanceCustomIndexNV): 19(ptr) Variable Input
28: TypeFloat 32
29: TypeVector 28(float) 3
30: TypePointer Function 29(fvec3)
32: TypePointer Input 29(fvec3)
33(gl_WorldRayOriginNV): 32(ptr) Variable Input
36(gl_WorldRayDirectionNV): 32(ptr) Variable Input
39(gl_ObjectRayOriginNV): 32(ptr) Variable Input
42(gl_ObjectRayDirectionNV): 32(ptr) Variable Input
44: TypePointer Function 28(float)
46: TypePointer Input 28(float)
47(gl_RayTminNV): 46(ptr) Variable Input
50(gl_RayTmaxNV): 46(ptr) Variable Input
54: TypePointer Function 6(int)
56: TypePointer Input 6(int)
57(gl_HitKindNV): 56(ptr) Variable Input
59: TypeMatrix 29(fvec3) 4
60: TypePointer Function 59
62: TypePointer Input 59
63(gl_ObjectToWorldNV): 62(ptr) Variable Input
66(gl_WorldToObjectNV): 62(ptr) Variable Input
68: TypeAccelerationStructureKHR
69: TypePointer UniformConstant 68
70(accNV): 69(ptr) Variable UniformConstant
72: 6(int) Constant 0
73: 6(int) Constant 1
74: 6(int) Constant 2
75: 6(int) Constant 3
76: 28(float) Constant 1056964608
77: 29(fvec3) ConstantComposite 76 76 76
78: 28(float) Constant 1065353216
79: 29(fvec3) ConstantComposite 78 78 78
80: 28(float) Constant 1061158912
81: 16(int) Constant 1
82: TypeVector 28(float) 4
83: TypePointer RayPayloadKHR 82(fvec4)
84(localPayload): 83(ptr) Variable RayPayloadKHR
85: TypePointer IncomingRayPayloadKHR 82(fvec4)
86(incomingPayload): 85(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
13(v1): 8(ptr) Variable Function
18(v2): 17(ptr) Variable Function
22(v3): 17(ptr) Variable Function
25(v4): 17(ptr) Variable Function
31(v5): 30(ptr) Variable Function
35(v6): 30(ptr) Variable Function
38(v7): 30(ptr) Variable Function
41(v8): 30(ptr) Variable Function
45(v9): 44(ptr) Variable Function
49(v10): 44(ptr) Variable Function
52(v11): 44(ptr) Variable Function
55(v12): 54(ptr) Variable Function
61(v13): 60(ptr) Variable Function
65(v14): 60(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDNV)
Store 9(v0) 12
15: 7(ivec3) Load 14(gl_LaunchSizeNV)
Store 13(v1) 15
21: 16(int) Load 20(gl_PrimitiveID)
Store 18(v2) 21
24: 16(int) Load 23(gl_InstanceID)
Store 22(v3) 24
27: 16(int) Load 26(gl_InstanceCustomIndexNV)
Store 25(v4) 27
34: 29(fvec3) Load 33(gl_WorldRayOriginNV)
Store 31(v5) 34
37: 29(fvec3) Load 36(gl_WorldRayDirectionNV)
Store 35(v6) 37
40: 29(fvec3) Load 39(gl_ObjectRayOriginNV)
Store 38(v7) 40
43: 29(fvec3) Load 42(gl_ObjectRayDirectionNV)
Store 41(v8) 43
48: 28(float) Load 47(gl_RayTminNV)
Store 45(v9) 48
51: 28(float) Load 50(gl_RayTmaxNV)
Store 49(v10) 51
53: 28(float) Load 50(gl_RayTmaxNV)
Store 52(v11) 53
58: 6(int) Load 57(gl_HitKindNV)
Store 55(v12) 58
64: 59 Load 63(gl_ObjectToWorldNV)
Store 61(v13) 64
67: 59 Load 66(gl_WorldToObjectNV)
Store 65(v14) 67
71: 68 Load 70(accNV)
TraceNV 71 72 73 74 75 72 77 76 79 80 81
Return
FunctionEnd