
* 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
164 lines
8.5 KiB
Plaintext
164 lines
8.5 KiB
Plaintext
spv.AnyHitShader.rahit
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 81
|
|
|
|
Capability RayTracingNV
|
|
Extension "SPV_NV_ray_tracing"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
|
|
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 53 "gl_HitTNV"
|
|
Name 56 "v12"
|
|
Name 58 "gl_HitKindNV"
|
|
Name 62 "v13"
|
|
Name 64 "gl_ObjectToWorldNV"
|
|
Name 66 "v14"
|
|
Name 67 "gl_WorldToObjectNV"
|
|
Name 71 "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 53(gl_HitTNV) BuiltIn HitTNV
|
|
Decorate 58(gl_HitKindNV) BuiltIn HitKindKHR
|
|
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
|
|
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
|
|
Decorate 71(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
|
|
53(gl_HitTNV): 46(ptr) Variable Input
|
|
55: TypePointer Function 6(int)
|
|
57: TypePointer Input 6(int)
|
|
58(gl_HitKindNV): 57(ptr) Variable Input
|
|
60: TypeMatrix 29(fvec3) 4
|
|
61: TypePointer Function 60
|
|
63: TypePointer Input 60
|
|
64(gl_ObjectToWorldNV): 63(ptr) Variable Input
|
|
67(gl_WorldToObjectNV): 63(ptr) Variable Input
|
|
69: TypeVector 28(float) 4
|
|
70: TypePointer IncomingRayPayloadKHR 69(fvec4)
|
|
71(incomingPayload): 70(ptr) Variable IncomingRayPayloadKHR
|
|
72: 28(float) Constant 1056964608
|
|
73: 69(fvec4) ConstantComposite 72 72 72 72
|
|
75: 16(int) Constant 1
|
|
76: TypeBool
|
|
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
|
|
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
|
|
54: 28(float) Load 53(gl_HitTNV)
|
|
Store 52(v11) 54
|
|
59: 6(int) Load 58(gl_HitKindNV)
|
|
Store 56(v12) 59
|
|
65: 60 Load 64(gl_ObjectToWorldNV)
|
|
Store 62(v13) 65
|
|
68: 60 Load 67(gl_WorldToObjectNV)
|
|
Store 66(v14) 68
|
|
Store 71(incomingPayload) 73
|
|
74: 16(int) Load 18(v2)
|
|
77: 76(bool) IEqual 74 75
|
|
SelectionMerge 79 None
|
|
BranchConditional 77 78 80
|
|
78: Label
|
|
IgnoreIntersectionNV
|
|
Branch 79
|
|
80: Label
|
|
TerminateRayNV
|
|
Branch 79
|
|
79: Label
|
|
Return
|
|
FunctionEnd
|