* update spirv-headers and fix handling of gl_HitTEXT Update spirv-headers known_good to f027d53ded7e230e008d37c8b47ede7cd308e19d and update SPIRV/spirv.hpp to copy from that version as well. In GLSL gl_HitTNV/gl_HitTEXT is defined as an alias of gl_RayTmaxNV/gl_RayTmaxEXT SPV_NV_ray_tracing has a dedicated HitTNV which gl_HitTNV maps to. For SPV_KHR_ray_tracing, gl_HitTEXT gets mapped to a RayTmaxKHR decoraged variable to simplify the SPIRV consumer. This change fixes the mapping for the GL_EXT_ray_tracing extension, and updates the test results to match. * update MissNV shader test to not use ObjectRay builtins They shouldn't existing in the miss stage because there is no object intersected
195 lines
10 KiB
Plaintext
195 lines
10 KiB
Plaintext
spv.ext.ClosestHitShader.rchit
|
|
// Module Version 10400
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 101
|
|
|
|
Capability RayTracingKHR
|
|
Extension "SPV_KHR_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 53 58 64 67 70 76 80 85 98 100
|
|
Source GLSL 460
|
|
SourceExtension "GL_EXT_ray_tracing"
|
|
Name 4 "main"
|
|
Name 9 "v0"
|
|
Name 11 "gl_LaunchIDEXT"
|
|
Name 13 "v1"
|
|
Name 14 "gl_LaunchSizeEXT"
|
|
Name 18 "v2"
|
|
Name 20 "gl_PrimitiveID"
|
|
Name 22 "v3"
|
|
Name 23 "gl_InstanceID"
|
|
Name 25 "v4"
|
|
Name 26 "gl_InstanceCustomIndexEXT"
|
|
Name 31 "v5"
|
|
Name 33 "gl_WorldRayOriginEXT"
|
|
Name 35 "v6"
|
|
Name 36 "gl_WorldRayDirectionEXT"
|
|
Name 38 "v7"
|
|
Name 39 "gl_ObjectRayOriginEXT"
|
|
Name 41 "v8"
|
|
Name 42 "gl_ObjectRayDirectionEXT"
|
|
Name 45 "v9"
|
|
Name 47 "gl_RayTminEXT"
|
|
Name 49 "v10"
|
|
Name 50 "gl_RayTmaxEXT"
|
|
Name 52 "v11"
|
|
Name 53 "gl_HitTEXT"
|
|
Name 56 "v12"
|
|
Name 58 "gl_HitKindEXT"
|
|
Name 62 "v13"
|
|
Name 64 "gl_ObjectToWorldEXT"
|
|
Name 66 "v14"
|
|
Name 67 "gl_WorldToObjectEXT"
|
|
Name 69 "v15"
|
|
Name 70 "gl_GeometryIndexEXT"
|
|
Name 75 "v16"
|
|
Name 76 "gl_ObjectToWorld3x4EXT"
|
|
Name 79 "v17"
|
|
Name 80 "gl_WorldToObject3x4EXT"
|
|
Name 85 "accEXT"
|
|
Name 98 "incomingPayload"
|
|
Name 100 "localPayload"
|
|
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
|
|
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
|
|
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
|
|
Decorate 23(gl_InstanceID) BuiltIn InstanceId
|
|
Decorate 26(gl_InstanceCustomIndexEXT) BuiltIn InstanceCustomIndexKHR
|
|
Decorate 33(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
|
|
Decorate 36(gl_WorldRayDirectionEXT) BuiltIn WorldRayDirectionKHR
|
|
Decorate 39(gl_ObjectRayOriginEXT) BuiltIn ObjectRayOriginKHR
|
|
Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR
|
|
Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR
|
|
Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
|
|
Decorate 53(gl_HitTEXT) BuiltIn RayTmaxKHR
|
|
Decorate 58(gl_HitKindEXT) BuiltIn HitKindKHR
|
|
Decorate 64(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
|
|
Decorate 67(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
|
|
Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR
|
|
Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
|
|
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
|
|
Decorate 85(accEXT) DescriptorSet 0
|
|
Decorate 85(accEXT) Binding 0
|
|
Decorate 98(incomingPayload) Location 1
|
|
Decorate 100(localPayload) Location 0
|
|
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_LaunchIDEXT): 10(ptr) Variable Input
|
|
14(gl_LaunchSizeEXT): 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_InstanceCustomIndexEXT): 19(ptr) Variable Input
|
|
28: TypeFloat 32
|
|
29: TypeVector 28(float) 3
|
|
30: TypePointer Function 29(fvec3)
|
|
32: TypePointer Input 29(fvec3)
|
|
33(gl_WorldRayOriginEXT): 32(ptr) Variable Input
|
|
36(gl_WorldRayDirectionEXT): 32(ptr) Variable Input
|
|
39(gl_ObjectRayOriginEXT): 32(ptr) Variable Input
|
|
42(gl_ObjectRayDirectionEXT): 32(ptr) Variable Input
|
|
44: TypePointer Function 28(float)
|
|
46: TypePointer Input 28(float)
|
|
47(gl_RayTminEXT): 46(ptr) Variable Input
|
|
50(gl_RayTmaxEXT): 46(ptr) Variable Input
|
|
53(gl_HitTEXT): 46(ptr) Variable Input
|
|
55: TypePointer Function 6(int)
|
|
57: TypePointer Input 6(int)
|
|
58(gl_HitKindEXT): 57(ptr) Variable Input
|
|
60: TypeMatrix 29(fvec3) 4
|
|
61: TypePointer Function 60
|
|
63: TypePointer Input 60
|
|
64(gl_ObjectToWorldEXT): 63(ptr) Variable Input
|
|
67(gl_WorldToObjectEXT): 63(ptr) Variable Input
|
|
70(gl_GeometryIndexEXT): 19(ptr) Variable Input
|
|
72: TypeVector 28(float) 4
|
|
73: TypeMatrix 72(fvec4) 3
|
|
74: TypePointer Function 73
|
|
76(gl_ObjectToWorld3x4EXT): 63(ptr) Variable Input
|
|
80(gl_WorldToObject3x4EXT): 63(ptr) Variable Input
|
|
83: TypeAccelerationStructureKHR
|
|
84: TypePointer UniformConstant 83
|
|
85(accEXT): 84(ptr) Variable UniformConstant
|
|
87: 6(int) Constant 0
|
|
88: 6(int) Constant 1
|
|
89: 6(int) Constant 2
|
|
90: 6(int) Constant 3
|
|
91: 28(float) Constant 1056964608
|
|
92: 29(fvec3) ConstantComposite 91 91 91
|
|
93: 28(float) Constant 1065353216
|
|
94: 29(fvec3) ConstantComposite 93 93 93
|
|
95: 28(float) Constant 1061158912
|
|
96: 16(int) Constant 1
|
|
97: TypePointer IncomingRayPayloadKHR 72(fvec4)
|
|
98(incomingPayload): 97(ptr) Variable IncomingRayPayloadKHR
|
|
99: TypePointer RayPayloadKHR 72(fvec4)
|
|
100(localPayload): 99(ptr) Variable RayPayloadKHR
|
|
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
|
|
56(v12): 55(ptr) Variable Function
|
|
62(v13): 61(ptr) Variable Function
|
|
66(v14): 61(ptr) Variable Function
|
|
69(v15): 17(ptr) Variable Function
|
|
75(v16): 74(ptr) Variable Function
|
|
79(v17): 74(ptr) Variable Function
|
|
12: 7(ivec3) Load 11(gl_LaunchIDEXT)
|
|
Store 9(v0) 12
|
|
15: 7(ivec3) Load 14(gl_LaunchSizeEXT)
|
|
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_InstanceCustomIndexEXT)
|
|
Store 25(v4) 27
|
|
34: 29(fvec3) Load 33(gl_WorldRayOriginEXT)
|
|
Store 31(v5) 34
|
|
37: 29(fvec3) Load 36(gl_WorldRayDirectionEXT)
|
|
Store 35(v6) 37
|
|
40: 29(fvec3) Load 39(gl_ObjectRayOriginEXT)
|
|
Store 38(v7) 40
|
|
43: 29(fvec3) Load 42(gl_ObjectRayDirectionEXT)
|
|
Store 41(v8) 43
|
|
48: 28(float) Load 47(gl_RayTminEXT)
|
|
Store 45(v9) 48
|
|
51: 28(float) Load 50(gl_RayTmaxEXT)
|
|
Store 49(v10) 51
|
|
54: 28(float) Load 53(gl_HitTEXT)
|
|
Store 52(v11) 54
|
|
59: 6(int) Load 58(gl_HitKindEXT)
|
|
Store 56(v12) 59
|
|
65: 60 Load 64(gl_ObjectToWorldEXT)
|
|
Store 62(v13) 65
|
|
68: 60 Load 67(gl_WorldToObjectEXT)
|
|
Store 66(v14) 68
|
|
71: 16(int) Load 70(gl_GeometryIndexEXT)
|
|
Store 69(v15) 71
|
|
77: 60 Load 76(gl_ObjectToWorld3x4EXT)
|
|
78: 73 Transpose 77
|
|
Store 75(v16) 78
|
|
81: 60 Load 80(gl_WorldToObject3x4EXT)
|
|
82: 73 Transpose 81
|
|
Store 79(v17) 82
|
|
86: 83 Load 85(accEXT)
|
|
TraceRayKHR 86 87 88 89 90 87 92 91 94 95 98(incomingPayload)
|
|
Return
|
|
FunctionEnd
|