Make gl_HitT proper aliases of gl_RayTmax

Changes the gl_HitT builtins properly alias
their gl_RayTmax. Previously they ended up as
duplicate variables, rather than aliased.
This commit is contained in:
Max Andersson 2022-03-21 07:01:08 +01:00 committed by arcady-lunarg
parent 7c3c50ea94
commit 1cad045cc2
9 changed files with 303 additions and 327 deletions

View file

@ -989,18 +989,6 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
return spv::BuiltInHitTriangleVertexPositionsKHR; return spv::BuiltInHitTriangleVertexPositionsKHR;
case glslang::EbvInstanceCustomIndex: case glslang::EbvInstanceCustomIndex:
return spv::BuiltInInstanceCustomIndexKHR; return spv::BuiltInInstanceCustomIndexKHR;
case glslang::EbvHitT:
{
// this is a GLSL alias of RayTmax
// in SPV_NV_ray_tracing it has a dedicated builtin
// but in SPV_KHR_ray_tracing it gets mapped to RayTmax
auto& extensions = glslangIntermediate->getRequestedExtensions();
if (extensions.find("GL_NV_ray_tracing") != extensions.end()) {
return spv::BuiltInHitTNV;
} else {
return spv::BuiltInRayTmaxKHR;
}
}
case glslang::EbvHitKind: case glslang::EbvHitKind:
return spv::BuiltInHitKindKHR; return spv::BuiltInHitKindKHR;
case glslang::EbvObjectToWorld: case glslang::EbvObjectToWorld:

View file

@ -383,7 +383,7 @@ ERROR: node is still EOpNull!
0:119 Sequence 0:119 Sequence
0:119 move second child to first child ( temp float) 0:119 move second child to first child ( temp float)
0:119 'v11' ( temp float) 0:119 'v11' ( temp float)
0:119 'gl_HitTNV' ( in float HitTNV) 0:119 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:120 Sequence 0:120 Sequence
0:120 move second child to first child ( temp uint) 0:120 move second child to first child ( temp uint)
0:120 'v12' ( temp uint) 0:120 'v12' ( temp uint)
@ -760,7 +760,7 @@ ERROR: node is still EOpNull!
0:119 Sequence 0:119 Sequence
0:119 move second child to first child ( temp float) 0:119 move second child to first child ( temp float)
0:119 'v11' ( temp float) 0:119 'v11' ( temp float)
0:119 'gl_HitTNV' ( in float HitTNV) 0:119 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:120 Sequence 0:120 Sequence
0:120 move second child to first child ( temp uint) 0:120 move second child to first child ( temp uint)
0:120 'v12' ( temp uint) 0:120 'v12' ( temp uint)

View file

@ -383,7 +383,7 @@ ERROR: node is still EOpNull!
0:121 Sequence 0:121 Sequence
0:121 move second child to first child ( temp float) 0:121 move second child to first child ( temp float)
0:121 'v11' ( temp float) 0:121 'v11' ( temp float)
0:121 'gl_HitTNV' ( in float HitTNV) 0:121 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:122 Sequence 0:122 Sequence
0:122 move second child to first child ( temp uint) 0:122 move second child to first child ( temp uint)
0:122 'v12' ( temp uint) 0:122 'v12' ( temp uint)
@ -771,7 +771,7 @@ ERROR: node is still EOpNull!
0:121 Sequence 0:121 Sequence
0:121 move second child to first child ( temp float) 0:121 move second child to first child ( temp float)
0:121 'v11' ( temp float) 0:121 'v11' ( temp float)
0:121 'gl_HitTNV' ( in float HitTNV) 0:121 'gl_RayTmaxNV' ( in float ObjectRayTmaxNV)
0:122 Sequence 0:122 Sequence
0:122 move second child to first child ( temp uint) 0:122 move second child to first child ( temp uint)
0:122 'v12' ( temp uint) 0:122 'v12' ( temp uint)

View file

@ -1,13 +1,13 @@
spv.AnyHitShader.rahit spv.AnyHitShader.rahit
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 81 // Id's are bound by 80
Capability RayTracingNV Capability RayTracingNV
Extension "SPV_NV_ray_tracing" Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 57 63 66
Source GLSL 460 Source GLSL 460
SourceExtension "GL_NV_ray_tracing" SourceExtension "GL_NV_ray_tracing"
Name 4 "main" Name 4 "main"
@ -34,14 +34,13 @@ spv.AnyHitShader.rahit
Name 49 "v10" Name 49 "v10"
Name 50 "gl_RayTmaxNV" Name 50 "gl_RayTmaxNV"
Name 52 "v11" Name 52 "v11"
Name 53 "gl_HitTNV" Name 55 "v12"
Name 56 "v12" Name 57 "gl_HitKindNV"
Name 58 "gl_HitKindNV" Name 61 "v13"
Name 62 "v13" Name 63 "gl_ObjectToWorldNV"
Name 64 "gl_ObjectToWorldNV" Name 65 "v14"
Name 66 "v14" Name 66 "gl_WorldToObjectNV"
Name 67 "gl_WorldToObjectNV" Name 70 "incomingPayload"
Name 71 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@ -53,11 +52,10 @@ spv.AnyHitShader.rahit
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR
Decorate 53(gl_HitTNV) BuiltIn HitTNV Decorate 57(gl_HitKindNV) BuiltIn HitKindKHR
Decorate 58(gl_HitKindNV) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR Decorate 70(incomingPayload) Location 1
Decorate 71(incomingPayload) Location 1
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -84,22 +82,21 @@ spv.AnyHitShader.rahit
46: TypePointer Input 28(float) 46: TypePointer Input 28(float)
47(gl_RayTminNV): 46(ptr) Variable Input 47(gl_RayTminNV): 46(ptr) Variable Input
50(gl_RayTmaxNV): 46(ptr) Variable Input 50(gl_RayTmaxNV): 46(ptr) Variable Input
53(gl_HitTNV): 46(ptr) Variable Input 54: TypePointer Function 6(int)
55: TypePointer Function 6(int) 56: TypePointer Input 6(int)
57: TypePointer Input 6(int) 57(gl_HitKindNV): 56(ptr) Variable Input
58(gl_HitKindNV): 57(ptr) Variable Input 59: TypeMatrix 29(fvec3) 4
60: TypeMatrix 29(fvec3) 4 60: TypePointer Function 59
61: TypePointer Function 60 62: TypePointer Input 59
63: TypePointer Input 60 63(gl_ObjectToWorldNV): 62(ptr) Variable Input
64(gl_ObjectToWorldNV): 63(ptr) Variable Input 66(gl_WorldToObjectNV): 62(ptr) Variable Input
67(gl_WorldToObjectNV): 63(ptr) Variable Input 68: TypeVector 28(float) 4
69: TypeVector 28(float) 4 69: TypePointer IncomingRayPayloadKHR 68(fvec4)
70: TypePointer IncomingRayPayloadKHR 69(fvec4) 70(incomingPayload): 69(ptr) Variable IncomingRayPayloadKHR
71(incomingPayload): 70(ptr) Variable IncomingRayPayloadKHR 71: 28(float) Constant 1056964608
72: 28(float) Constant 1056964608 72: 68(fvec4) ConstantComposite 71 71 71 71
73: 69(fvec4) ConstantComposite 72 72 72 72 74: 16(int) Constant 1
75: 16(int) Constant 1 75: TypeBool
76: TypeBool
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v0): 8(ptr) Variable Function 9(v0): 8(ptr) Variable Function
@ -114,9 +111,9 @@ spv.AnyHitShader.rahit
45(v9): 44(ptr) Variable Function 45(v9): 44(ptr) Variable Function
49(v10): 44(ptr) Variable Function 49(v10): 44(ptr) Variable Function
52(v11): 44(ptr) Variable Function 52(v11): 44(ptr) Variable Function
56(v12): 55(ptr) Variable Function 55(v12): 54(ptr) Variable Function
62(v13): 61(ptr) Variable Function 61(v13): 60(ptr) Variable Function
66(v14): 61(ptr) Variable Function 65(v14): 60(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDNV) 12: 7(ivec3) Load 11(gl_LaunchIDNV)
Store 9(v0) 12 Store 9(v0) 12
15: 7(ivec3) Load 14(gl_LaunchSizeNV) 15: 7(ivec3) Load 14(gl_LaunchSizeNV)
@ -139,25 +136,25 @@ spv.AnyHitShader.rahit
Store 45(v9) 48 Store 45(v9) 48
51: 28(float) Load 50(gl_RayTmaxNV) 51: 28(float) Load 50(gl_RayTmaxNV)
Store 49(v10) 51 Store 49(v10) 51
54: 28(float) Load 53(gl_HitTNV) 53: 28(float) Load 50(gl_RayTmaxNV)
Store 52(v11) 54 Store 52(v11) 53
59: 6(int) Load 58(gl_HitKindNV) 58: 6(int) Load 57(gl_HitKindNV)
Store 56(v12) 59 Store 55(v12) 58
65: 60 Load 64(gl_ObjectToWorldNV) 64: 59 Load 63(gl_ObjectToWorldNV)
Store 62(v13) 65 Store 61(v13) 64
68: 60 Load 67(gl_WorldToObjectNV) 67: 59 Load 66(gl_WorldToObjectNV)
Store 66(v14) 68 Store 65(v14) 67
Store 71(incomingPayload) 73 Store 70(incomingPayload) 72
74: 16(int) Load 18(v2) 73: 16(int) Load 18(v2)
77: 76(bool) IEqual 74 75 76: 75(bool) IEqual 73 74
SelectionMerge 79 None SelectionMerge 78 None
BranchConditional 77 78 80 BranchConditional 76 77 79
78: Label 77: Label
IgnoreIntersectionNV IgnoreIntersectionNV
Branch 79 Branch 78
80: Label 79: Label
TerminateRayNV TerminateRayNV
Branch 79 Branch 78
79: Label 78: Label
Return Return
FunctionEnd FunctionEnd

View file

@ -1,13 +1,13 @@
spv.ClosestHitShader.rchit spv.ClosestHitShader.rchit
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 88 // Id's are bound by 87
Capability RayTracingNV Capability RayTracingNV
Extension "SPV_NV_ray_tracing" Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint ClosestHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 EntryPoint ClosestHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 57 63 66
Source GLSL 460 Source GLSL 460
SourceExtension "GL_NV_ray_tracing" SourceExtension "GL_NV_ray_tracing"
Name 4 "main" Name 4 "main"
@ -34,16 +34,15 @@ spv.ClosestHitShader.rchit
Name 49 "v10" Name 49 "v10"
Name 50 "gl_RayTmaxNV" Name 50 "gl_RayTmaxNV"
Name 52 "v11" Name 52 "v11"
Name 53 "gl_HitTNV" Name 55 "v12"
Name 56 "v12" Name 57 "gl_HitKindNV"
Name 58 "gl_HitKindNV" Name 61 "v13"
Name 62 "v13" Name 63 "gl_ObjectToWorldNV"
Name 64 "gl_ObjectToWorldNV" Name 65 "v14"
Name 66 "v14" Name 66 "gl_WorldToObjectNV"
Name 67 "gl_WorldToObjectNV" Name 70 "accNV"
Name 71 "accNV" Name 84 "localPayload"
Name 85 "localPayload" Name 86 "incomingPayload"
Name 87 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@ -55,14 +54,13 @@ spv.ClosestHitShader.rchit
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR
Decorate 53(gl_HitTNV) BuiltIn HitTNV Decorate 57(gl_HitKindNV) BuiltIn HitKindKHR
Decorate 58(gl_HitKindNV) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR Decorate 70(accNV) DescriptorSet 0
Decorate 71(accNV) DescriptorSet 0 Decorate 70(accNV) Binding 0
Decorate 71(accNV) Binding 0 Decorate 84(localPayload) Location 0
Decorate 85(localPayload) Location 0 Decorate 86(incomingPayload) Location 1
Decorate 87(incomingPayload) Location 1
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -89,33 +87,32 @@ spv.ClosestHitShader.rchit
46: TypePointer Input 28(float) 46: TypePointer Input 28(float)
47(gl_RayTminNV): 46(ptr) Variable Input 47(gl_RayTminNV): 46(ptr) Variable Input
50(gl_RayTmaxNV): 46(ptr) Variable Input 50(gl_RayTmaxNV): 46(ptr) Variable Input
53(gl_HitTNV): 46(ptr) Variable Input 54: TypePointer Function 6(int)
55: TypePointer Function 6(int) 56: TypePointer Input 6(int)
57: TypePointer Input 6(int) 57(gl_HitKindNV): 56(ptr) Variable Input
58(gl_HitKindNV): 57(ptr) Variable Input 59: TypeMatrix 29(fvec3) 4
60: TypeMatrix 29(fvec3) 4 60: TypePointer Function 59
61: TypePointer Function 60 62: TypePointer Input 59
63: TypePointer Input 60 63(gl_ObjectToWorldNV): 62(ptr) Variable Input
64(gl_ObjectToWorldNV): 63(ptr) Variable Input 66(gl_WorldToObjectNV): 62(ptr) Variable Input
67(gl_WorldToObjectNV): 63(ptr) Variable Input 68: TypeAccelerationStructureKHR
69: TypeAccelerationStructureKHR 69: TypePointer UniformConstant 68
70: TypePointer UniformConstant 69 70(accNV): 69(ptr) Variable UniformConstant
71(accNV): 70(ptr) Variable UniformConstant 72: 6(int) Constant 0
73: 6(int) Constant 0 73: 6(int) Constant 1
74: 6(int) Constant 1 74: 6(int) Constant 2
75: 6(int) Constant 2 75: 6(int) Constant 3
76: 6(int) Constant 3 76: 28(float) Constant 1056964608
77: 28(float) Constant 1056964608 77: 29(fvec3) ConstantComposite 76 76 76
78: 29(fvec3) ConstantComposite 77 77 77 78: 28(float) Constant 1065353216
79: 28(float) Constant 1065353216 79: 29(fvec3) ConstantComposite 78 78 78
80: 29(fvec3) ConstantComposite 79 79 79 80: 28(float) Constant 1061158912
81: 28(float) Constant 1061158912 81: 16(int) Constant 1
82: 16(int) Constant 1 82: TypeVector 28(float) 4
83: TypeVector 28(float) 4 83: TypePointer RayPayloadKHR 82(fvec4)
84: TypePointer RayPayloadKHR 83(fvec4) 84(localPayload): 83(ptr) Variable RayPayloadKHR
85(localPayload): 84(ptr) Variable RayPayloadKHR 85: TypePointer IncomingRayPayloadKHR 82(fvec4)
86: TypePointer IncomingRayPayloadKHR 83(fvec4) 86(incomingPayload): 85(ptr) Variable IncomingRayPayloadKHR
87(incomingPayload): 86(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v0): 8(ptr) Variable Function 9(v0): 8(ptr) Variable Function
@ -130,9 +127,9 @@ spv.ClosestHitShader.rchit
45(v9): 44(ptr) Variable Function 45(v9): 44(ptr) Variable Function
49(v10): 44(ptr) Variable Function 49(v10): 44(ptr) Variable Function
52(v11): 44(ptr) Variable Function 52(v11): 44(ptr) Variable Function
56(v12): 55(ptr) Variable Function 55(v12): 54(ptr) Variable Function
62(v13): 61(ptr) Variable Function 61(v13): 60(ptr) Variable Function
66(v14): 61(ptr) Variable Function 65(v14): 60(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDNV) 12: 7(ivec3) Load 11(gl_LaunchIDNV)
Store 9(v0) 12 Store 9(v0) 12
15: 7(ivec3) Load 14(gl_LaunchSizeNV) 15: 7(ivec3) Load 14(gl_LaunchSizeNV)
@ -155,15 +152,15 @@ spv.ClosestHitShader.rchit
Store 45(v9) 48 Store 45(v9) 48
51: 28(float) Load 50(gl_RayTmaxNV) 51: 28(float) Load 50(gl_RayTmaxNV)
Store 49(v10) 51 Store 49(v10) 51
54: 28(float) Load 53(gl_HitTNV) 53: 28(float) Load 50(gl_RayTmaxNV)
Store 52(v11) 54 Store 52(v11) 53
59: 6(int) Load 58(gl_HitKindNV) 58: 6(int) Load 57(gl_HitKindNV)
Store 56(v12) 59 Store 55(v12) 58
65: 60 Load 64(gl_ObjectToWorldNV) 64: 59 Load 63(gl_ObjectToWorldNV)
Store 62(v13) 65 Store 61(v13) 64
68: 60 Load 67(gl_WorldToObjectNV) 67: 59 Load 66(gl_WorldToObjectNV)
Store 66(v14) 68 Store 65(v14) 67
72: 69 Load 71(accNV) 71: 68 Load 70(accNV)
TraceNV 72 73 74 75 76 73 78 77 80 81 82 TraceNV 71 72 73 74 75 72 77 76 79 80 81
Return Return
FunctionEnd FunctionEnd

View file

@ -1,7 +1,7 @@
spv.ext.AnyHitShader.rahit spv.ext.AnyHitShader.rahit
// Module Version 10400 // Module Version 10400
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 116 // Id's are bound by 115
Capability GroupNonUniform Capability GroupNonUniform
Capability RayTracingKHR Capability RayTracingKHR
@ -12,7 +12,7 @@ spv.ext.AnyHitShader.rahit
Extension "SPV_KHR_ray_tracing_position_fetch" Extension "SPV_KHR_ray_tracing_position_fetch"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 70 82 88 93 107 EntryPoint AnyHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 57 63 66 69 81 87 92 106
Source GLSL 460 Source GLSL 460
SourceExtension "GL_EXT_ray_cull_mask" SourceExtension "GL_EXT_ray_cull_mask"
SourceExtension "GL_EXT_ray_tracing" SourceExtension "GL_EXT_ray_tracing"
@ -42,23 +42,22 @@ spv.ext.AnyHitShader.rahit
Name 49 "v10" Name 49 "v10"
Name 50 "gl_RayTmaxEXT" Name 50 "gl_RayTmaxEXT"
Name 52 "v11" Name 52 "v11"
Name 53 "gl_HitTEXT" Name 55 "v12"
Name 56 "v12" Name 57 "gl_HitKindEXT"
Name 58 "gl_HitKindEXT" Name 61 "v13"
Name 62 "v13" Name 63 "gl_ObjectToWorldEXT"
Name 64 "gl_ObjectToWorldEXT" Name 65 "v14"
Name 66 "v14" Name 66 "gl_WorldToObjectEXT"
Name 67 "gl_WorldToObjectEXT" Name 68 "v15"
Name 69 "v15" Name 69 "gl_GeometryIndexEXT"
Name 70 "gl_GeometryIndexEXT" Name 74 "v16"
Name 75 "v16" Name 77 "v17"
Name 78 "v17" Name 80 "v18"
Name 81 "v18" Name 81 "gl_CullMaskEXT"
Name 82 "gl_CullMaskEXT" Name 83 "v19"
Name 84 "v19" Name 87 "gl_HitTriangleVertexPositionsEXT"
Name 88 "gl_HitTriangleVertexPositionsEXT" Name 92 "incomingPayload"
Name 93 "incomingPayload" Name 106 "gl_SubgroupSize"
Name 107 "gl_SubgroupSize"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@ -70,17 +69,16 @@ spv.ext.AnyHitShader.rahit
Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
Decorate 53(gl_HitTEXT) BuiltIn RayTmaxKHR Decorate 57(gl_HitKindEXT) BuiltIn HitKindKHR
Decorate 58(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
Decorate 64(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
Decorate 67(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR Decorate 69(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR
Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR Decorate 81(gl_CullMaskEXT) BuiltIn CullMaskKHR
Decorate 82(gl_CullMaskEXT) BuiltIn CullMaskKHR Decorate 87(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR
Decorate 88(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR Decorate 106(gl_SubgroupSize) RelaxedPrecision
Decorate 107(gl_SubgroupSize) RelaxedPrecision Decorate 106(gl_SubgroupSize) BuiltIn SubgroupSize
Decorate 107(gl_SubgroupSize) BuiltIn SubgroupSize Decorate 107 RelaxedPrecision
Decorate 108 RelaxedPrecision Decorate 108 RelaxedPrecision
Decorate 109 RelaxedPrecision
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -107,34 +105,33 @@ spv.ext.AnyHitShader.rahit
46: TypePointer Input 28(float) 46: TypePointer Input 28(float)
47(gl_RayTminEXT): 46(ptr) Variable Input 47(gl_RayTminEXT): 46(ptr) Variable Input
50(gl_RayTmaxEXT): 46(ptr) Variable Input 50(gl_RayTmaxEXT): 46(ptr) Variable Input
53(gl_HitTEXT): 46(ptr) Variable Input 54: TypePointer Function 6(int)
55: TypePointer Function 6(int) 56: TypePointer Input 6(int)
57: TypePointer Input 6(int) 57(gl_HitKindEXT): 56(ptr) Variable Input
58(gl_HitKindEXT): 57(ptr) Variable Input 59: TypeMatrix 29(fvec3) 4
60: TypeMatrix 29(fvec3) 4 60: TypePointer Function 59
61: TypePointer Function 60 62: TypePointer Input 59
63: TypePointer Input 60 63(gl_ObjectToWorldEXT): 62(ptr) Variable Input
64(gl_ObjectToWorldEXT): 63(ptr) Variable Input 66(gl_WorldToObjectEXT): 62(ptr) Variable Input
67(gl_WorldToObjectEXT): 63(ptr) Variable Input 69(gl_GeometryIndexEXT): 19(ptr) Variable Input
70(gl_GeometryIndexEXT): 19(ptr) Variable Input 71: TypeVector 28(float) 4
72: TypeVector 28(float) 4 72: TypeMatrix 71(fvec4) 3
73: TypeMatrix 72(fvec4) 3 73: TypePointer Function 72
74: TypePointer Function 73 81(gl_CullMaskEXT): 56(ptr) Variable Input
82(gl_CullMaskEXT): 57(ptr) Variable Input 84: 6(int) Constant 3
85: 6(int) Constant 3 85: TypeArray 29(fvec3) 84
86: TypeArray 29(fvec3) 85 86: TypePointer Input 85
87: TypePointer Input 86 87(gl_HitTriangleVertexPositionsEXT): 86(ptr) Variable Input
88(gl_HitTriangleVertexPositionsEXT): 87(ptr) Variable Input 88: 16(int) Constant 0
89: 16(int) Constant 0 91: TypePointer IncomingRayPayloadKHR 71(fvec4)
92: TypePointer IncomingRayPayloadKHR 72(fvec4) 92(incomingPayload): 91(ptr) Variable IncomingRayPayloadKHR
93(incomingPayload): 92(ptr) Variable IncomingRayPayloadKHR 93: 28(float) Constant 1056964608
94: 28(float) Constant 1056964608 94: 71(fvec4) ConstantComposite 93 93 93 93
95: 72(fvec4) ConstantComposite 94 94 94 94 96: 16(int) Constant 1
97: 16(int) Constant 1 97: TypeBool
98: TypeBool 102: 6(int) Constant 0
103: 6(int) Constant 0 106(gl_SubgroupSize): 56(ptr) Variable Input
107(gl_SubgroupSize): 57(ptr) Variable Input 109: TypePointer IncomingRayPayloadKHR 28(float)
110: TypePointer IncomingRayPayloadKHR 28(float)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v0): 8(ptr) Variable Function 9(v0): 8(ptr) Variable Function
@ -149,14 +146,14 @@ spv.ext.AnyHitShader.rahit
45(v9): 44(ptr) Variable Function 45(v9): 44(ptr) Variable Function
49(v10): 44(ptr) Variable Function 49(v10): 44(ptr) Variable Function
52(v11): 44(ptr) Variable Function 52(v11): 44(ptr) Variable Function
56(v12): 55(ptr) Variable Function 55(v12): 54(ptr) Variable Function
62(v13): 61(ptr) Variable Function 61(v13): 60(ptr) Variable Function
66(v14): 61(ptr) Variable Function 65(v14): 60(ptr) Variable Function
69(v15): 17(ptr) Variable Function 68(v15): 17(ptr) Variable Function
75(v16): 74(ptr) Variable Function 74(v16): 73(ptr) Variable Function
78(v17): 74(ptr) Variable Function 77(v17): 73(ptr) Variable Function
81(v18): 55(ptr) Variable Function 80(v18): 54(ptr) Variable Function
84(v19): 30(ptr) Variable Function 83(v19): 30(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDEXT) 12: 7(ivec3) Load 11(gl_LaunchIDEXT)
Store 9(v0) 12 Store 9(v0) 12
15: 7(ivec3) Load 14(gl_LaunchSizeEXT) 15: 7(ivec3) Load 14(gl_LaunchSizeEXT)
@ -179,41 +176,41 @@ spv.ext.AnyHitShader.rahit
Store 45(v9) 48 Store 45(v9) 48
51: 28(float) Load 50(gl_RayTmaxEXT) 51: 28(float) Load 50(gl_RayTmaxEXT)
Store 49(v10) 51 Store 49(v10) 51
54: 28(float) Load 53(gl_HitTEXT) 53: 28(float) Load 50(gl_RayTmaxEXT)
Store 52(v11) 54 Store 52(v11) 53
59: 6(int) Load 58(gl_HitKindEXT) 58: 6(int) Load 57(gl_HitKindEXT)
Store 56(v12) 59 Store 55(v12) 58
65: 60 Load 64(gl_ObjectToWorldEXT) 64: 59 Load 63(gl_ObjectToWorldEXT)
Store 62(v13) 65 Store 61(v13) 64
68: 60 Load 67(gl_WorldToObjectEXT) 67: 59 Load 66(gl_WorldToObjectEXT)
Store 66(v14) 68 Store 65(v14) 67
71: 16(int) Load 70(gl_GeometryIndexEXT) 70: 16(int) Load 69(gl_GeometryIndexEXT)
Store 69(v15) 71 Store 68(v15) 70
76: 60 Load 64(gl_ObjectToWorldEXT) 75: 59 Load 63(gl_ObjectToWorldEXT)
77: 73 Transpose 76 76: 72 Transpose 75
Store 75(v16) 77 Store 74(v16) 76
79: 60 Load 67(gl_WorldToObjectEXT) 78: 59 Load 66(gl_WorldToObjectEXT)
80: 73 Transpose 79 79: 72 Transpose 78
Store 78(v17) 80 Store 77(v17) 79
83: 6(int) Load 82(gl_CullMaskEXT) 82: 6(int) Load 81(gl_CullMaskEXT)
Store 81(v18) 83 Store 80(v18) 82
90: 32(ptr) AccessChain 88(gl_HitTriangleVertexPositionsEXT) 89 89: 32(ptr) AccessChain 87(gl_HitTriangleVertexPositionsEXT) 88
91: 29(fvec3) Load 90 90: 29(fvec3) Load 89
Store 84(v19) 91 Store 83(v19) 90
Store 93(incomingPayload) 95 Store 92(incomingPayload) 94
96: 16(int) Load 18(v2) 95: 16(int) Load 18(v2)
99: 98(bool) IEqual 96 97 98: 97(bool) IEqual 95 96
SelectionMerge 101 None SelectionMerge 100 None
BranchConditional 99 100 101 BranchConditional 98 99 100
100: Label 99: Label
IgnoreIntersectionKHR IgnoreIntersectionKHR
101: Label 100: Label
108: 6(int) Load 107(gl_SubgroupSize) 107: 6(int) Load 106(gl_SubgroupSize)
109: 28(float) ConvertUToF 108 108: 28(float) ConvertUToF 107
111: 110(ptr) AccessChain 93(incomingPayload) 103 110: 109(ptr) AccessChain 92(incomingPayload) 102
112: 28(float) Load 111 111: 28(float) Load 110
113: 28(float) FAdd 112 109 112: 28(float) FAdd 111 108
114: 110(ptr) AccessChain 93(incomingPayload) 103 113: 109(ptr) AccessChain 92(incomingPayload) 102
Store 114 113 Store 113 112
TerminateRayKHR TerminateRayKHR
FunctionEnd FunctionEnd

View file

@ -1,7 +1,7 @@
spv.ext.ClosestHitShader.rchit spv.ext.ClosestHitShader.rchit
// Module Version 10400 // Module Version 10400
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 109 // Id's are bound by 108
Capability RayTracingKHR Capability RayTracingKHR
Capability RayTracingPositionFetchKHR Capability RayTracingPositionFetchKHR
@ -11,7 +11,7 @@ spv.ext.ClosestHitShader.rchit
Extension "SPV_KHR_ray_tracing_position_fetch" Extension "SPV_KHR_ray_tracing_position_fetch"
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint ClosestHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 70 82 88 94 106 108 EntryPoint ClosestHitKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 57 63 66 69 81 87 93 105 107
Source GLSL 460 Source GLSL 460
SourceExtension "GL_EXT_ray_cull_mask" SourceExtension "GL_EXT_ray_cull_mask"
SourceExtension "GL_EXT_ray_tracing" SourceExtension "GL_EXT_ray_tracing"
@ -40,24 +40,23 @@ spv.ext.ClosestHitShader.rchit
Name 49 "v10" Name 49 "v10"
Name 50 "gl_RayTmaxEXT" Name 50 "gl_RayTmaxEXT"
Name 52 "v11" Name 52 "v11"
Name 53 "gl_HitTEXT" Name 55 "v12"
Name 56 "v12" Name 57 "gl_HitKindEXT"
Name 58 "gl_HitKindEXT" Name 61 "v13"
Name 62 "v13" Name 63 "gl_ObjectToWorldEXT"
Name 64 "gl_ObjectToWorldEXT" Name 65 "v14"
Name 66 "v14" Name 66 "gl_WorldToObjectEXT"
Name 67 "gl_WorldToObjectEXT" Name 68 "v15"
Name 69 "v15" Name 69 "gl_GeometryIndexEXT"
Name 70 "gl_GeometryIndexEXT" Name 74 "v16"
Name 75 "v16" Name 77 "v17"
Name 78 "v17" Name 80 "v18"
Name 81 "v18" Name 81 "gl_CullMaskEXT"
Name 82 "gl_CullMaskEXT" Name 83 "v19"
Name 84 "v19" Name 87 "gl_HitTriangleVertexPositionsEXT"
Name 88 "gl_HitTriangleVertexPositionsEXT" Name 93 "accEXT"
Name 94 "accEXT" Name 105 "incomingPayload"
Name 106 "incomingPayload" Name 107 "localPayload"
Name 108 "localPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
@ -69,15 +68,14 @@ spv.ext.ClosestHitShader.rchit
Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR
Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR
Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
Decorate 53(gl_HitTEXT) BuiltIn RayTmaxKHR Decorate 57(gl_HitKindEXT) BuiltIn HitKindKHR
Decorate 58(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
Decorate 64(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
Decorate 67(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR Decorate 69(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR
Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR Decorate 81(gl_CullMaskEXT) BuiltIn CullMaskKHR
Decorate 82(gl_CullMaskEXT) BuiltIn CullMaskKHR Decorate 87(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR
Decorate 88(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR Decorate 93(accEXT) DescriptorSet 0
Decorate 94(accEXT) DescriptorSet 0 Decorate 93(accEXT) Binding 0
Decorate 94(accEXT) Binding 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@ -104,41 +102,40 @@ spv.ext.ClosestHitShader.rchit
46: TypePointer Input 28(float) 46: TypePointer Input 28(float)
47(gl_RayTminEXT): 46(ptr) Variable Input 47(gl_RayTminEXT): 46(ptr) Variable Input
50(gl_RayTmaxEXT): 46(ptr) Variable Input 50(gl_RayTmaxEXT): 46(ptr) Variable Input
53(gl_HitTEXT): 46(ptr) Variable Input 54: TypePointer Function 6(int)
55: TypePointer Function 6(int) 56: TypePointer Input 6(int)
57: TypePointer Input 6(int) 57(gl_HitKindEXT): 56(ptr) Variable Input
58(gl_HitKindEXT): 57(ptr) Variable Input 59: TypeMatrix 29(fvec3) 4
60: TypeMatrix 29(fvec3) 4 60: TypePointer Function 59
61: TypePointer Function 60 62: TypePointer Input 59
63: TypePointer Input 60 63(gl_ObjectToWorldEXT): 62(ptr) Variable Input
64(gl_ObjectToWorldEXT): 63(ptr) Variable Input 66(gl_WorldToObjectEXT): 62(ptr) Variable Input
67(gl_WorldToObjectEXT): 63(ptr) Variable Input 69(gl_GeometryIndexEXT): 19(ptr) Variable Input
70(gl_GeometryIndexEXT): 19(ptr) Variable Input 71: TypeVector 28(float) 4
72: TypeVector 28(float) 4 72: TypeMatrix 71(fvec4) 3
73: TypeMatrix 72(fvec4) 3 73: TypePointer Function 72
74: TypePointer Function 73 81(gl_CullMaskEXT): 56(ptr) Variable Input
82(gl_CullMaskEXT): 57(ptr) Variable Input 84: 6(int) Constant 3
85: 6(int) Constant 3 85: TypeArray 29(fvec3) 84
86: TypeArray 29(fvec3) 85 86: TypePointer Input 85
87: TypePointer Input 86 87(gl_HitTriangleVertexPositionsEXT): 86(ptr) Variable Input
88(gl_HitTriangleVertexPositionsEXT): 87(ptr) Variable Input 88: 16(int) Constant 0
89: 16(int) Constant 0 91: TypeAccelerationStructureKHR
92: TypeAccelerationStructureKHR 92: TypePointer UniformConstant 91
93: TypePointer UniformConstant 92 93(accEXT): 92(ptr) Variable UniformConstant
94(accEXT): 93(ptr) Variable UniformConstant 95: 6(int) Constant 0
96: 6(int) Constant 0 96: 6(int) Constant 1
97: 6(int) Constant 1 97: 6(int) Constant 2
98: 6(int) Constant 2 98: 28(float) Constant 1056964608
99: 28(float) Constant 1056964608 99: 29(fvec3) ConstantComposite 98 98 98
100: 29(fvec3) ConstantComposite 99 99 99 100: 28(float) Constant 1065353216
101: 28(float) Constant 1065353216 101: 29(fvec3) ConstantComposite 100 100 100
102: 29(fvec3) ConstantComposite 101 101 101 102: 28(float) Constant 1061158912
103: 28(float) Constant 1061158912 103: 16(int) Constant 1
104: 16(int) Constant 1 104: TypePointer IncomingRayPayloadKHR 71(fvec4)
105: TypePointer IncomingRayPayloadKHR 72(fvec4) 105(incomingPayload): 104(ptr) Variable IncomingRayPayloadKHR
106(incomingPayload): 105(ptr) Variable IncomingRayPayloadKHR 106: TypePointer RayPayloadKHR 71(fvec4)
107: TypePointer RayPayloadKHR 72(fvec4) 107(localPayload): 106(ptr) Variable RayPayloadKHR
108(localPayload): 107(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
9(v0): 8(ptr) Variable Function 9(v0): 8(ptr) Variable Function
@ -153,14 +150,14 @@ spv.ext.ClosestHitShader.rchit
45(v9): 44(ptr) Variable Function 45(v9): 44(ptr) Variable Function
49(v10): 44(ptr) Variable Function 49(v10): 44(ptr) Variable Function
52(v11): 44(ptr) Variable Function 52(v11): 44(ptr) Variable Function
56(v12): 55(ptr) Variable Function 55(v12): 54(ptr) Variable Function
62(v13): 61(ptr) Variable Function 61(v13): 60(ptr) Variable Function
66(v14): 61(ptr) Variable Function 65(v14): 60(ptr) Variable Function
69(v15): 17(ptr) Variable Function 68(v15): 17(ptr) Variable Function
75(v16): 74(ptr) Variable Function 74(v16): 73(ptr) Variable Function
78(v17): 74(ptr) Variable Function 77(v17): 73(ptr) Variable Function
81(v18): 55(ptr) Variable Function 80(v18): 54(ptr) Variable Function
84(v19): 30(ptr) Variable Function 83(v19): 30(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDEXT) 12: 7(ivec3) Load 11(gl_LaunchIDEXT)
Store 9(v0) 12 Store 9(v0) 12
15: 7(ivec3) Load 14(gl_LaunchSizeEXT) 15: 7(ivec3) Load 14(gl_LaunchSizeEXT)
@ -183,28 +180,28 @@ spv.ext.ClosestHitShader.rchit
Store 45(v9) 48 Store 45(v9) 48
51: 28(float) Load 50(gl_RayTmaxEXT) 51: 28(float) Load 50(gl_RayTmaxEXT)
Store 49(v10) 51 Store 49(v10) 51
54: 28(float) Load 53(gl_HitTEXT) 53: 28(float) Load 50(gl_RayTmaxEXT)
Store 52(v11) 54 Store 52(v11) 53
59: 6(int) Load 58(gl_HitKindEXT) 58: 6(int) Load 57(gl_HitKindEXT)
Store 56(v12) 59 Store 55(v12) 58
65: 60 Load 64(gl_ObjectToWorldEXT) 64: 59 Load 63(gl_ObjectToWorldEXT)
Store 62(v13) 65 Store 61(v13) 64
68: 60 Load 67(gl_WorldToObjectEXT) 67: 59 Load 66(gl_WorldToObjectEXT)
Store 66(v14) 68 Store 65(v14) 67
71: 16(int) Load 70(gl_GeometryIndexEXT) 70: 16(int) Load 69(gl_GeometryIndexEXT)
Store 69(v15) 71 Store 68(v15) 70
76: 60 Load 64(gl_ObjectToWorldEXT) 75: 59 Load 63(gl_ObjectToWorldEXT)
77: 73 Transpose 76 76: 72 Transpose 75
Store 75(v16) 77 Store 74(v16) 76
79: 60 Load 67(gl_WorldToObjectEXT) 78: 59 Load 66(gl_WorldToObjectEXT)
80: 73 Transpose 79 79: 72 Transpose 78
Store 78(v17) 80 Store 77(v17) 79
83: 6(int) Load 82(gl_CullMaskEXT) 82: 6(int) Load 81(gl_CullMaskEXT)
Store 81(v18) 83 Store 80(v18) 82
90: 32(ptr) AccessChain 88(gl_HitTriangleVertexPositionsEXT) 89 89: 32(ptr) AccessChain 87(gl_HitTriangleVertexPositionsEXT) 88
91: 29(fvec3) Load 90 90: 29(fvec3) Load 89
Store 84(v19) 91 Store 83(v19) 90
95: 92 Load 94(accEXT) 94: 91 Load 93(accEXT)
TraceRayKHR 95 96 97 98 85 96 100 99 102 103 106(incomingPayload) TraceRayKHR 94 95 96 97 84 95 99 98 101 102 105(incomingPayload)
Return Return
FunctionEnd FunctionEnd

View file

@ -268,7 +268,6 @@ enum TBuiltInVariable {
EbvRayTmin, EbvRayTmin,
EbvRayTmax, EbvRayTmax,
EbvCullMask, EbvCullMask,
EbvHitT,
EbvHitKind, EbvHitKind,
EbvObjectToWorld, EbvObjectToWorld,
EbvObjectToWorld3x4, EbvObjectToWorld3x4,
@ -495,7 +494,6 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v)
case EbvObjectRayDirection: return "ObjectRayDirectionNV"; case EbvObjectRayDirection: return "ObjectRayDirectionNV";
case EbvRayTmin: return "ObjectRayTminNV"; case EbvRayTmin: return "ObjectRayTminNV";
case EbvRayTmax: return "ObjectRayTmaxNV"; case EbvRayTmax: return "ObjectRayTmaxNV";
case EbvHitT: return "HitTNV";
case EbvHitKind: return "HitKindNV"; case EbvHitKind: return "HitKindNV";
case EbvIncomingRayFlags: return "IncomingRayFlagsNV"; case EbvIncomingRayFlags: return "IncomingRayFlagsNV";
case EbvObjectToWorld: return "ObjectToWorldNV"; case EbvObjectToWorld: return "ObjectToWorldNV";

View file

@ -9209,8 +9209,6 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_RayTmaxNV", EbvRayTmax, symbolTable); BuiltInVariable("gl_RayTmaxNV", EbvRayTmax, symbolTable);
BuiltInVariable("gl_RayTmaxEXT", EbvRayTmax, symbolTable); BuiltInVariable("gl_RayTmaxEXT", EbvRayTmax, symbolTable);
BuiltInVariable("gl_CullMaskEXT", EbvCullMask, symbolTable); BuiltInVariable("gl_CullMaskEXT", EbvCullMask, symbolTable);
BuiltInVariable("gl_HitTNV", EbvHitT, symbolTable);
BuiltInVariable("gl_HitTEXT", EbvHitT, symbolTable);
BuiltInVariable("gl_HitKindNV", EbvHitKind, symbolTable); BuiltInVariable("gl_HitKindNV", EbvHitKind, symbolTable);
BuiltInVariable("gl_HitKindEXT", EbvHitKind, symbolTable); BuiltInVariable("gl_HitKindEXT", EbvHitKind, symbolTable);
BuiltInVariable("gl_ObjectToWorldNV", EbvObjectToWorld, symbolTable); BuiltInVariable("gl_ObjectToWorldNV", EbvObjectToWorld, symbolTable);
@ -9229,6 +9227,10 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
BuiltInVariable("gl_HitKindFrontFacingMicroTriangleNV", EbvHitKindFrontFacingMicroTriangleNV, symbolTable); BuiltInVariable("gl_HitKindFrontFacingMicroTriangleNV", EbvHitKindFrontFacingMicroTriangleNV, symbolTable);
BuiltInVariable("gl_HitKindBackFacingMicroTriangleNV", EbvHitKindBackFacingMicroTriangleNV, symbolTable); BuiltInVariable("gl_HitKindBackFacingMicroTriangleNV", EbvHitKindBackFacingMicroTriangleNV, symbolTable);
// gl_HitT variables are aliases of their gl_RayTmax counterparts.
RetargetVariable("gl_HitTNV", "gl_RayTmaxNV", symbolTable);
RetargetVariable("gl_HitTEXT", "gl_RayTmaxEXT", symbolTable);
// GL_ARB_shader_ballot // GL_ARB_shader_ballot
symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot); symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot);
symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot); symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot);