mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20: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.7 KiB
Plaintext
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
|