Add support for GLSL_EXT_ray_tracing

and SPV_KHR_ray_tracing
This commit is contained in:
Daniel Koch 2020-03-17 20:42:47 -04:00
parent f368dcbb7d
commit db32b243ff
69 changed files with 6912 additions and 4972 deletions

View file

@ -7,7 +7,7 @@ spv.AnyHitShader.rahit
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint AnyHitNV 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 53 58 64 67
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -42,21 +42,21 @@ spv.AnyHitShader.rahit
Name 66 "v14"
Name 67 "gl_WorldToObjectNV"
Name 71 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
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 InstanceCustomIndexNV
Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV
Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV
Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV
Decorate 47(gl_RayTminNV) BuiltIn RayTminNV
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV
Decorate 53(gl_HitTNV) BuiltIn HitTNV
Decorate 58(gl_HitKindNV) BuiltIn HitKindNV
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectNV
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 HitTKHR
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
@ -94,8 +94,8 @@ spv.AnyHitShader.rahit
64(gl_ObjectToWorldNV): 63(ptr) Variable Input
67(gl_WorldToObjectNV): 63(ptr) Variable Input
69: TypeVector 28(float) 4
70: TypePointer IncomingRayPayloadNV 69(fvec4)
71(incomingPayload): 70(ptr) Variable IncomingRayPayloadNV
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
@ -153,10 +153,10 @@ spv.AnyHitShader.rahit
SelectionMerge 79 None
BranchConditional 77 78 80
78: Label
IgnoreIntersectionNV
IgnoreIntersectionKHR
Branch 79
80: Label
TerminateRayNV
TerminateRayKHR
Branch 79
79: Label
Return

View file

@ -7,7 +7,7 @@ spv.ClosestHitShader.rchit
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint ClosestHitNV 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 53 58 64 67
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -44,21 +44,21 @@ spv.ClosestHitShader.rchit
Name 71 "accNV"
Name 85 "localPayload"
Name 87 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
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 InstanceCustomIndexNV
Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV
Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV
Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV
Decorate 47(gl_RayTminNV) BuiltIn RayTminNV
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV
Decorate 53(gl_HitTNV) BuiltIn HitTNV
Decorate 58(gl_HitKindNV) BuiltIn HitKindNV
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectNV
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 HitTKHR
Decorate 58(gl_HitKindNV) BuiltIn HitKindKHR
Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
Decorate 71(accNV) DescriptorSet 0
Decorate 71(accNV) Binding 0
Decorate 85(localPayload) Location 0
@ -98,7 +98,7 @@ spv.ClosestHitShader.rchit
63: TypePointer Input 60
64(gl_ObjectToWorldNV): 63(ptr) Variable Input
67(gl_WorldToObjectNV): 63(ptr) Variable Input
69: TypeAccelerationStructureNV
69: TypeAccelerationStructureKHR
70: TypePointer UniformConstant 69
71(accNV): 70(ptr) Variable UniformConstant
73: 6(int) Constant 0
@ -112,10 +112,10 @@ spv.ClosestHitShader.rchit
81: 28(float) Constant 1061158912
82: 16(int) Constant 1
83: TypeVector 28(float) 4
84: TypePointer RayPayloadNV 83(fvec4)
85(localPayload): 84(ptr) Variable RayPayloadNV
86: TypePointer IncomingRayPayloadNV 83(fvec4)
87(incomingPayload): 86(ptr) Variable IncomingRayPayloadNV
84: TypePointer RayPayloadKHR 83(fvec4)
85(localPayload): 84(ptr) Variable RayPayloadKHR
86: TypePointer IncomingRayPayloadKHR 83(fvec4)
87(incomingPayload): 86(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@ -164,6 +164,6 @@ spv.ClosestHitShader.rchit
68: 60 Load 67(gl_WorldToObjectNV)
Store 66(v14) 68
72: 69 Load 71(accNV)
TraceNV 72 73 74 75 76 73 78 77 80 81 82
TraceRayKHR 72 73 74 75 76 73 78 77 80 81 82
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.IntersectShader.rint
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint IntersectionNV 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59
EntryPoint IntersectionKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -38,19 +38,19 @@ spv.IntersectShader.rint
Name 58 "v12"
Name 59 "gl_WorldToObjectNV"
Name 63 "iAttr"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
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 InstanceCustomIndexNV
Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV
Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV
Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV
Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV
Decorate 47(gl_RayTminNV) BuiltIn RayTminNV
Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxNV
Decorate 56(gl_ObjectToWorldNV) BuiltIn ObjectToWorldNV
Decorate 59(gl_WorldToObjectNV) BuiltIn WorldToObjectNV
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 56(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
Decorate 59(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@ -83,8 +83,8 @@ spv.IntersectShader.rint
56(gl_ObjectToWorldNV): 55(ptr) Variable Input
59(gl_WorldToObjectNV): 55(ptr) Variable Input
61: TypeVector 28(float) 4
62: TypePointer HitAttributeNV 61(fvec4)
63(iAttr): 62(ptr) Variable HitAttributeNV
62: TypePointer HitAttributeKHR 61(fvec4)
63(iAttr): 62(ptr) Variable HitAttributeKHR
64: 28(float) Constant 1056964608
65: 28(float) Constant 0
66: 28(float) Constant 1065353216
@ -133,6 +133,6 @@ spv.IntersectShader.rint
60: 52 Load 59(gl_WorldToObjectNV)
Store 58(v12) 60
Store 63(iAttr) 67
70: 69(bool) ReportIntersectionNV 64 68
70: 69(bool) ReportIntersectionKHR 64 68
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.MissShader.rmiss
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MissNV 4 "main" 11 14 21 24 27 30 35 38
EntryPoint MissKHR 4 "main" 11 14 21 24 27 30 35 38
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -30,14 +30,14 @@ spv.MissShader.rmiss
Name 42 "accNV"
Name 57 "localPayload"
Name 59 "incomingPayload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 21(gl_WorldRayOriginNV) BuiltIn WorldRayOriginNV
Decorate 24(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionNV
Decorate 27(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginNV
Decorate 30(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionNV
Decorate 35(gl_RayTminNV) BuiltIn RayTminNV
Decorate 38(gl_RayTmaxNV) BuiltIn RayTmaxNV
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 21(gl_WorldRayOriginNV) BuiltIn WorldRayOriginKHR
Decorate 24(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionKHR
Decorate 27(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginKHR
Decorate 30(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR
Decorate 35(gl_RayTminNV) BuiltIn RayTminKHR
Decorate 38(gl_RayTmaxNV) BuiltIn RayTmaxKHR
Decorate 42(accNV) DescriptorSet 0
Decorate 42(accNV) Binding 0
Decorate 57(localPayload) Location 0
@ -62,7 +62,7 @@ spv.MissShader.rmiss
34: TypePointer Input 16(float)
35(gl_RayTminNV): 34(ptr) Variable Input
38(gl_RayTmaxNV): 34(ptr) Variable Input
40: TypeAccelerationStructureNV
40: TypeAccelerationStructureKHR
41: TypePointer UniformConstant 40
42(accNV): 41(ptr) Variable UniformConstant
44: 6(int) Constant 0
@ -77,10 +77,10 @@ spv.MissShader.rmiss
53: TypeInt 32 1
54: 53(int) Constant 1
55: TypeVector 16(float) 4
56: TypePointer RayPayloadNV 55(fvec4)
57(localPayload): 56(ptr) Variable RayPayloadNV
58: TypePointer IncomingRayPayloadNV 55(fvec4)
59(incomingPayload): 58(ptr) Variable IncomingRayPayloadNV
56: TypePointer RayPayloadKHR 55(fvec4)
57(localPayload): 56(ptr) Variable RayPayloadKHR
58: TypePointer IncomingRayPayloadKHR 55(fvec4)
59(incomingPayload): 58(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
@ -108,6 +108,6 @@ spv.MissShader.rmiss
39: 16(float) Load 38(gl_RayTmaxNV)
Store 37(v7) 39
43: 40 Load 42(accNV)
TraceNV 43 44 45 46 47 44 49 48 51 52 54
TraceRayKHR 43 44 45 46 47 44 49 48 51 52 54
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.RayCallable.rcall
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint CallableNV 4 "main" 11 14
EntryPoint CallableKHR 4 "main" 11 14
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -19,8 +19,8 @@ spv.RayCallable.rcall
MemberName 16(dataBlock) 0 "data1"
Name 18 ""
Name 29 "data0"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 16(dataBlock) Block
Decorate 18 Location 1
Decorate 29(data0) Location 0
@ -33,18 +33,18 @@ spv.RayCallable.rcall
11(gl_LaunchIDNV): 10(ptr) Variable Input
14(gl_LaunchSizeNV): 10(ptr) Variable Input
16(dataBlock): TypeStruct 6(int)
17: TypePointer IncomingCallableDataNV 16(dataBlock)
18: 17(ptr) Variable IncomingCallableDataNV
17: TypePointer IncomingCallableDataKHR 16(dataBlock)
18: 17(ptr) Variable IncomingCallableDataKHR
19: TypeInt 32 1
20: 19(int) Constant 0
21: 6(int) Constant 256
22: TypePointer IncomingCallableDataNV 6(int)
22: TypePointer IncomingCallableDataKHR 6(int)
24: 6(int) Constant 2
25: 19(int) Constant 1
26: TypeFloat 32
27: TypeVector 26(float) 4
28: TypePointer CallableDataNV 27(fvec4)
29(data0): 28(ptr) Variable CallableDataNV
28: TypePointer CallableDataKHR 27(fvec4)
29(data0): 28(ptr) Variable CallableDataKHR
4(main): 2 Function None 3
5: Label
9(id): 8(ptr) Variable Function
@ -55,6 +55,6 @@ spv.RayCallable.rcall
Store 13(size) 15
23: 22(ptr) AccessChain 18 20
Store 23 21
ExecuteCallableNV 24 25
ExecuteCallableKHR 24 25
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.RayConstants.rgen
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationNV 4 "main"
EntryPoint RayGenerationKHR 4 "main"
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -18,7 +18,7 @@ spv.RayConstants.rgen
Decorate 26(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeAccelerationStructureNV
6: TypeAccelerationStructureKHR
7: TypePointer UniformConstant 6
8(accNV): 7(ptr) Variable UniformConstant
10: TypeInt 32 0
@ -36,11 +36,11 @@ spv.RayConstants.rgen
22: TypeInt 32 1
23: 22(int) Constant 1
24: TypeVector 14(float) 4
25: TypePointer RayPayloadNV 24(fvec4)
26(payload): 25(ptr) Variable RayPayloadNV
25: TypePointer RayPayloadKHR 24(fvec4)
26(payload): 25(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9: 6 Load 8(accNV)
TraceNV 9 11 12 13 13 12 17 18 20 21 23
TraceRayKHR 9 11 12 13 13 12 17 18 20 21 23
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.RayGenShader.rgen
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationNV 4 "main" 11 21
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -24,8 +24,8 @@ spv.RayGenShader.rgen
Name 39 ""
Name 50 "accNV1"
Name 53 "payload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 29(accNV0) DescriptorSet 0
Decorate 29(accNV0) Binding 0
MemberDecorate 37(block) 0 Offset 0
@ -45,24 +45,24 @@ spv.RayGenShader.rgen
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeNV): 10(ptr) Variable Input
27: TypeAccelerationStructureNV
27: TypeAccelerationStructureKHR
28: TypePointer UniformConstant 27
29(accNV0): 28(ptr) Variable UniformConstant
35: TypeFloat 32
36: TypeVector 35(float) 3
37(block): TypeStruct 36(fvec3) 36(fvec3)
38: TypePointer ShaderRecordBufferNV 37(block)
39: 38(ptr) Variable ShaderRecordBufferNV
38: TypePointer ShaderRecordBufferKHR 37(block)
39: 38(ptr) Variable ShaderRecordBufferKHR
40: TypeInt 32 1
41: 40(int) Constant 1
42: TypePointer ShaderRecordBufferNV 36(fvec3)
42: TypePointer ShaderRecordBufferKHR 36(fvec3)
45: 35(float) Constant 1056964608
46: 40(int) Constant 0
49: 35(float) Constant 1061158912
50(accNV1): 28(ptr) Variable UniformConstant
51: TypeVector 35(float) 4
52: TypePointer RayPayloadNV 51(fvec4)
53(payload): 52(ptr) Variable RayPayloadNV
52: TypePointer RayPayloadKHR 51(fvec4)
53(payload): 52(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
@ -90,6 +90,6 @@ spv.RayGenShader.rgen
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
TraceNV 30 31 32 33 34 12 44 45 48 49 41
TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd

View file

@ -7,7 +7,7 @@ spv.RayGenShader11.rgen
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationNV 4 "main" 11 21
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
@ -23,8 +23,8 @@ spv.RayGenShader11.rgen
MemberName 37(block) 1 "origin"
Name 39 ""
Name 52 "payload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 29(accNV) DescriptorSet 0
Decorate 29(accNV) Binding 0
MemberDecorate 37(block) 0 Offset 0
@ -42,23 +42,23 @@ spv.RayGenShader11.rgen
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeNV): 10(ptr) Variable Input
27: TypeAccelerationStructureNV
27: TypeAccelerationStructureKHR
28: TypePointer UniformConstant 27
29(accNV): 28(ptr) Variable UniformConstant
35: TypeFloat 32
36: TypeVector 35(float) 3
37(block): TypeStruct 36(fvec3) 36(fvec3)
38: TypePointer ShaderRecordBufferNV 37(block)
39: 38(ptr) Variable ShaderRecordBufferNV
38: TypePointer ShaderRecordBufferKHR 37(block)
39: 38(ptr) Variable ShaderRecordBufferKHR
40: TypeInt 32 1
41: 40(int) Constant 1
42: TypePointer ShaderRecordBufferNV 36(fvec3)
42: TypePointer ShaderRecordBufferKHR 36(fvec3)
45: 35(float) Constant 1056964608
46: 40(int) Constant 0
49: 35(float) Constant 1061158912
50: TypeVector 35(float) 4
51: TypePointer RayPayloadNV 50(fvec4)
52(payload): 51(ptr) Variable RayPayloadNV
51: TypePointer RayPayloadKHR 50(fvec4)
52(payload): 51(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
@ -86,6 +86,6 @@ spv.RayGenShader11.rgen
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
TraceNV 30 31 32 33 34 12 44 45 48 49 41
TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd

View file

@ -10,7 +10,7 @@ spv.RayGenShaderArray.rgen
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationNV 4 "main" 11 21
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_NV_ray_tracing"
@ -29,8 +29,8 @@ spv.RayGenShaderArray.rgen
Name 36 ""
Name 60 "accNV1"
Name 88 "payload"
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 30(accNV0) DescriptorSet 0
Decorate 30(accNV0) Binding 0
MemberDecorate 34(block) 0 Offset 0
@ -54,7 +54,7 @@ spv.RayGenShaderArray.rgen
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeNV): 10(ptr) Variable Input
27: TypeAccelerationStructureNV
27: TypeAccelerationStructureKHR
28: TypeRuntimeArray 27
29: TypePointer UniformConstant 28
30(accNV0): 29(ptr) Variable UniformConstant
@ -62,13 +62,13 @@ spv.RayGenShaderArray.rgen
32: TypeVector 31(float) 3
33: TypeInt 32 1
34(block): TypeStruct 32(fvec3) 32(fvec3) 33(int)
35: TypePointer ShaderRecordBufferNV 34(block)
36: 35(ptr) Variable ShaderRecordBufferNV
35: TypePointer ShaderRecordBufferKHR 34(block)
36: 35(ptr) Variable ShaderRecordBufferKHR
37: 33(int) Constant 2
38: TypePointer ShaderRecordBufferNV 33(int)
38: TypePointer ShaderRecordBufferKHR 33(int)
41: TypePointer UniformConstant 27
48: 33(int) Constant 1
49: TypePointer ShaderRecordBufferNV 32(fvec3)
49: TypePointer ShaderRecordBufferKHR 32(fvec3)
52: 31(float) Constant 1056964608
53: 33(int) Constant 0
56: 31(float) Constant 1061158912
@ -77,8 +77,8 @@ spv.RayGenShaderArray.rgen
59: TypePointer UniformConstant 58
60(accNV1): 59(ptr) Variable UniformConstant
86: TypeVector 31(float) 4
87: TypePointer RayPayloadNV 86(fvec4)
88(payload): 87(ptr) Variable RayPayloadNV
87: TypePointer RayPayloadKHR 86(fvec4)
88(payload): 87(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
@ -109,7 +109,7 @@ spv.RayGenShaderArray.rgen
51: 32(fvec3) Load 50
54: 49(ptr) AccessChain 36 53
55: 32(fvec3) Load 54
TraceNV 43 44 45 46 47 12 51 52 55 56 48
TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
61: 38(ptr) AccessChain 36 37
62: 33(int) Load 61
63: 41(ptr) AccessChain 60(accNV1) 62
@ -122,7 +122,7 @@ spv.RayGenShaderArray.rgen
70: 32(fvec3) Load 69
71: 49(ptr) AccessChain 36 53
72: 32(fvec3) Load 71
TraceNV 64 65 66 67 68 12 70 52 72 56 48
TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
73: 38(ptr) AccessChain 36 37
74: 33(int) Load 73
75: 33(int) CopyObject 74
@ -136,6 +136,6 @@ spv.RayGenShaderArray.rgen
83: 32(fvec3) Load 82
84: 49(ptr) AccessChain 36 53
85: 32(fvec3) Load 84
TraceNV 77 78 79 80 81 12 83 52 85 56 48
TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
Return
FunctionEnd

View file

@ -0,0 +1,188 @@
spv.ext.AnyHitShader.rahit
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 94
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_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 70 76 80
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 84 "incomingPayload"
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 HitTKHR
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 84(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_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: TypePointer IncomingRayPayloadKHR 72(fvec4)
84(incomingPayload): 83(ptr) Variable IncomingRayPayloadKHR
85: 28(float) Constant 1056964608
86: 72(fvec4) ConstantComposite 85 85 85 85
88: 16(int) Constant 1
89: 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
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
Store 84(incomingPayload) 86
87: 16(int) Load 18(v2)
90: 89(bool) IEqual 87 88
SelectionMerge 92 None
BranchConditional 90 91 93
91: Label
IgnoreIntersectionKHR
Branch 92
93: Label
TerminateRayKHR
Branch 92
92: Label
Return
FunctionEnd

View file

@ -0,0 +1,8 @@
spv.ext.AnyHitShader_Errors.rahit
ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage)
ERROR: 0:9: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:10: 'traceRayEXT' : no matching overloaded function found
ERROR: 3 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,194 @@
spv.ext.ClosestHitShader.rchit
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 101
Capability RayTracingProvisionalKHR
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
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 "localPayload"
Name 100 "incomingPayload"
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 HitTKHR
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(localPayload) Location 0
Decorate 100(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_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 RayPayloadKHR 72(fvec4)
98(localPayload): 97(ptr) Variable RayPayloadKHR
99: TypePointer IncomingRayPayloadKHR 72(fvec4)
100(incomingPayload): 99(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
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 96
Return
FunctionEnd

View file

@ -0,0 +1,9 @@
spv.ext.ClosestHitShader_Errors.rchit
ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNV in this stage)
ERROR: 0:9: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:10: 'terminateRayEXT' : no matching overloaded function found
ERROR: 0:11: 'ignoreIntersectionEXT' : no matching overloaded function found
ERROR: 4 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,156 @@
spv.ext.IntersectShader.rint
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 81
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint IntersectionKHR 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59 65 69
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 54 "v11"
Name 56 "gl_ObjectToWorldEXT"
Name 58 "v12"
Name 59 "gl_WorldToObjectEXT"
Name 64 "v13"
Name 65 "gl_ObjectToWorld3x4EXT"
Name 68 "v14"
Name 69 "gl_WorldToObject3x4EXT"
Name 73 "iAttr"
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 56(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
Decorate 59(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
Decorate 65(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
Decorate 69(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
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
52: TypeMatrix 29(fvec3) 4
53: TypePointer Function 52
55: TypePointer Input 52
56(gl_ObjectToWorldEXT): 55(ptr) Variable Input
59(gl_WorldToObjectEXT): 55(ptr) Variable Input
61: TypeVector 28(float) 4
62: TypeMatrix 61(fvec4) 3
63: TypePointer Function 62
65(gl_ObjectToWorld3x4EXT): 55(ptr) Variable Input
69(gl_WorldToObject3x4EXT): 55(ptr) Variable Input
72: TypePointer HitAttributeKHR 61(fvec4)
73(iAttr): 72(ptr) Variable HitAttributeKHR
74: 28(float) Constant 1056964608
75: 28(float) Constant 0
76: 28(float) Constant 1065353216
77: 61(fvec4) ConstantComposite 74 74 75 76
78: 6(int) Constant 1
79: 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
54(v11): 53(ptr) Variable Function
58(v12): 53(ptr) Variable Function
64(v13): 63(ptr) Variable Function
68(v14): 63(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
57: 52 Load 56(gl_ObjectToWorldEXT)
Store 54(v11) 57
60: 52 Load 59(gl_WorldToObjectEXT)
Store 58(v12) 60
66: 52 Load 65(gl_ObjectToWorld3x4EXT)
67: 62 Transpose 66
Store 64(v13) 67
70: 52 Load 69(gl_WorldToObject3x4EXT)
71: 62 Transpose 70
Store 68(v14) 71
Store 73(iAttr) 77
80: 79(bool) ReportIntersectionKHR 74 78
Return
FunctionEnd

View file

@ -0,0 +1,10 @@
spv.ext.IntersectShader_Errors.rint
ERROR: 0:3: 'rayPayloadInEXT' : not supported in this stage: intersection
ERROR: 0:4: 'rayPayloadEXT' : not supported in this stage: intersection
ERROR: 0:8: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:9: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:10: 'traceRayEXT' : no matching overloaded function found
ERROR: 5 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,99 @@
spv.ext.MissShader.rmiss
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 54
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MissKHR 4 "main" 11 14 21 24 29 32
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 19 "v2"
Name 21 "gl_WorldRayOriginEXT"
Name 23 "v3"
Name 24 "gl_WorldRayDirectionEXT"
Name 27 "v4"
Name 29 "gl_RayTminEXT"
Name 31 "v5"
Name 32 "gl_RayTmaxEXT"
Name 36 "accEXT"
Name 51 "localPayload"
Name 53 "incomingPayload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 21(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
Decorate 24(gl_WorldRayDirectionEXT) BuiltIn WorldRayDirectionKHR
Decorate 29(gl_RayTminEXT) BuiltIn RayTminKHR
Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
Decorate 36(accEXT) DescriptorSet 0
Decorate 36(accEXT) Binding 0
Decorate 51(localPayload) Location 0
Decorate 53(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_LaunchIDEXT): 10(ptr) Variable Input
14(gl_LaunchSizeEXT): 10(ptr) Variable Input
16: TypeFloat 32
17: TypeVector 16(float) 3
18: TypePointer Function 17(fvec3)
20: TypePointer Input 17(fvec3)
21(gl_WorldRayOriginEXT): 20(ptr) Variable Input
24(gl_WorldRayDirectionEXT): 20(ptr) Variable Input
26: TypePointer Function 16(float)
28: TypePointer Input 16(float)
29(gl_RayTminEXT): 28(ptr) Variable Input
32(gl_RayTmaxEXT): 28(ptr) Variable Input
34: TypeAccelerationStructureKHR
35: TypePointer UniformConstant 34
36(accEXT): 35(ptr) Variable UniformConstant
38: 6(int) Constant 0
39: 6(int) Constant 1
40: 6(int) Constant 2
41: 6(int) Constant 3
42: 16(float) Constant 1056964608
43: 17(fvec3) ConstantComposite 42 42 42
44: 16(float) Constant 1065353216
45: 17(fvec3) ConstantComposite 44 44 44
46: 16(float) Constant 1061158912
47: TypeInt 32 1
48: 47(int) Constant 1
49: TypeVector 16(float) 4
50: TypePointer RayPayloadKHR 49(fvec4)
51(localPayload): 50(ptr) Variable RayPayloadKHR
52: TypePointer IncomingRayPayloadKHR 49(fvec4)
53(incomingPayload): 52(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
5: Label
9(v0): 8(ptr) Variable Function
13(v1): 8(ptr) Variable Function
19(v2): 18(ptr) Variable Function
23(v3): 18(ptr) Variable Function
27(v4): 26(ptr) Variable Function
31(v5): 26(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
22: 17(fvec3) Load 21(gl_WorldRayOriginEXT)
Store 19(v2) 22
25: 17(fvec3) Load 24(gl_WorldRayDirectionEXT)
Store 23(v3) 25
30: 16(float) Load 29(gl_RayTminEXT)
Store 27(v4) 30
33: 16(float) Load 32(gl_RayTmaxEXT)
Store 31(v5) 33
37: 34 Load 36(accEXT)
TraceRayKHR 37 38 39 40 41 38 43 42 45 46 48
Return
FunctionEnd

View file

@ -0,0 +1,21 @@
spv.ext.MissShader_Errors.rmiss
ERROR: 0:3: 'hitAttributeEXT' : not supported in this stage: miss
ERROR: 0:6: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:6: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:7: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
ERROR: 0:7: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:8: 'gl_InstanceCustomIndexEXT' : undeclared identifier
ERROR: 0:8: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:9: 'gl_ObjectToWorldEXT' : undeclared identifier
ERROR: 0:9: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:10: 'gl_WorldToObjectEXT' : undeclared identifier
ERROR: 0:10: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:11: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:12: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:13: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:14: 'ignoreIntersectionEXT' : no matching overloaded function found
ERROR: 0:15: 'terminateRayEXT' : no matching overloaded function found
ERROR: 16 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,60 @@
spv.ext.RayCallable.rcall
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 30
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint CallableKHR 4 "main" 11 14
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
Name 9 "id"
Name 11 "gl_LaunchIDEXT"
Name 13 "size"
Name 14 "gl_LaunchSizeEXT"
Name 16 "dataBlock"
MemberName 16(dataBlock) 0 "data1"
Name 18 ""
Name 29 "data0"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 16(dataBlock) Block
Decorate 18 Location 1
Decorate 29(data0) 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(dataBlock): TypeStruct 6(int)
17: TypePointer IncomingCallableDataKHR 16(dataBlock)
18: 17(ptr) Variable IncomingCallableDataKHR
19: TypeInt 32 1
20: 19(int) Constant 0
21: 6(int) Constant 256
22: TypePointer IncomingCallableDataKHR 6(int)
24: 6(int) Constant 2
25: 19(int) Constant 1
26: TypeFloat 32
27: TypeVector 26(float) 4
28: TypePointer CallableDataKHR 27(fvec4)
29(data0): 28(ptr) Variable CallableDataKHR
4(main): 2 Function None 3
5: Label
9(id): 8(ptr) Variable Function
13(size): 8(ptr) Variable Function
12: 7(ivec3) Load 11(gl_LaunchIDEXT)
Store 9(id) 12
15: 7(ivec3) Load 14(gl_LaunchSizeEXT)
Store 13(size) 15
23: 22(ptr) AccessChain 18 20
Store 23 21
ExecuteCallableKHR 24 25
Return
FunctionEnd

View file

@ -0,0 +1,35 @@
spv.ext.RayCallable_Errors.rcall
ERROR: 0:3: 'hitAttributeEXT' : not supported in this stage: callable
ERROR: 0:4: 'rayPayloadEXT' : not supported in this stage: callable
ERROR: 0:5: 'rayPayloadInEXT' : not supported in this stage: callable
ERROR: 0:9: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:9: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:10: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
ERROR: 0:10: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:11: 'gl_InstanceCustomIndexEXT' : undeclared identifier
ERROR: 0:11: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:12: 'gl_WorldRayOriginEXT' : undeclared identifier
ERROR: 0:12: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:13: 'gl_WorldRayDirectionEXT' : undeclared identifier
ERROR: 0:13: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:14: 'gl_ObjectRayOriginEXT' : undeclared identifier
ERROR: 0:14: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:15: 'gl_ObjectRayDirectionEXT' : undeclared identifier
ERROR: 0:15: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:16: 'gl_RayTminEXT' : undeclared identifier
ERROR: 0:17: 'gl_RayTmaxEXT' : undeclared identifier
ERROR: 0:18: 'gl_ObjectToWorldEXT' : undeclared identifier
ERROR: 0:18: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:19: 'gl_WorldToObjectEXT' : undeclared identifier
ERROR: 0:19: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:20: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:21: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:22: 'gl_IncomingRayFlagsEXT' : undeclared identifier
ERROR: 0:22: '=' : cannot convert from ' temp float' to ' temp highp uint'
ERROR: 0:23: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:24: 'ignoreIntersectionEXT' : no matching overloaded function found
ERROR: 0:25: 'terminateRayEXT' : no matching overloaded function found
ERROR: 30 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,46 @@
spv.ext.RayConstants.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 27
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main"
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
Name 8 "accEXT"
Name 26 "payload"
Decorate 8(accEXT) DescriptorSet 0
Decorate 8(accEXT) Binding 0
Decorate 26(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeAccelerationStructureKHR
7: TypePointer UniformConstant 6
8(accEXT): 7(ptr) Variable UniformConstant
10: TypeInt 32 0
11: 10(int) Constant 255
12: 10(int) Constant 0
13: 10(int) Constant 1
14: TypeFloat 32
15: TypeVector 14(float) 3
16: 14(float) Constant 0
17: 15(fvec3) ConstantComposite 16 16 16
18: 14(float) Constant 1056964608
19: 14(float) Constant 1065353216
20: 15(fvec3) ConstantComposite 19 19 19
21: 14(float) Constant 1061158912
22: TypeInt 32 1
23: 22(int) Constant 1
24: TypeVector 14(float) 4
25: TypePointer RayPayloadKHR 24(fvec4)
26(payload): 25(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
9: 6 Load 8(accEXT)
TraceRayKHR 9 11 12 13 13 12 17 18 20 21 23
Return
FunctionEnd

View file

@ -0,0 +1,101 @@
spv.ext.RayGenShader.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 57
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
Name 8 "lx"
Name 11 "gl_LaunchIDEXT"
Name 16 "ly"
Name 20 "sx"
Name 21 "gl_LaunchSizeEXT"
Name 24 "sy"
Name 29 "accEXT0"
Name 37 "block"
MemberName 37(block) 0 "dir"
MemberName 37(block) 1 "origin"
Name 39 ""
Name 50 "accEXT1"
Name 53 "imageu"
Name 56 "payload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 29(accEXT0) DescriptorSet 0
Decorate 29(accEXT0) Binding 0
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) BufferBlock
Decorate 50(accEXT1) DescriptorSet 0
Decorate 50(accEXT1) Binding 1
Decorate 53(imageu) DescriptorSet 0
Decorate 53(imageu) Binding 2
Decorate 56(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LaunchIDEXT): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeEXT): 10(ptr) Variable Input
27: TypeAccelerationStructureKHR
28: TypePointer UniformConstant 27
29(accEXT0): 28(ptr) Variable UniformConstant
35: TypeFloat 32
36: TypeVector 35(float) 3
37(block): TypeStruct 36(fvec3) 36(fvec3)
38: TypePointer ShaderRecordBufferKHR 37(block)
39: 38(ptr) Variable ShaderRecordBufferKHR
40: TypeInt 32 1
41: 40(int) Constant 1
42: TypePointer ShaderRecordBufferKHR 36(fvec3)
45: 35(float) Constant 1056964608
46: 40(int) Constant 0
49: 35(float) Constant 1061158912
50(accEXT1): 28(ptr) Variable UniformConstant
51: TypeImage 6(int) 2D nonsampled format:R32ui
52: TypePointer UniformConstant 51
53(imageu): 52(ptr) Variable UniformConstant
54: TypeVector 35(float) 4
55: TypePointer RayPayloadKHR 54(fvec4)
56(payload): 55(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
16(ly): 7(ptr) Variable Function
20(sx): 7(ptr) Variable Function
24(sy): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
15: 6(int) Load 14
Store 8(lx) 15
18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
19: 6(int) Load 18
Store 16(ly) 19
22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
23: 6(int) Load 22
Store 20(sx) 23
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
26: 6(int) Load 25
Store 24(sy) 26
30: 27 Load 29(accEXT0)
31: 6(int) Load 8(lx)
32: 6(int) Load 16(ly)
33: 6(int) Load 20(sx)
34: 6(int) Load 24(sy)
43: 42(ptr) AccessChain 39 41
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd

View file

@ -0,0 +1,91 @@
spv.ext.RayGenShader11.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 53
Capability RayTracingProvisionalKHR
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
Name 8 "lx"
Name 11 "gl_LaunchIDEXT"
Name 16 "ly"
Name 20 "sx"
Name 21 "gl_LaunchSizeEXT"
Name 24 "sy"
Name 29 "accEXT"
Name 37 "block"
MemberName 37(block) 0 "dir"
MemberName 37(block) 1 "origin"
Name 39 ""
Name 52 "payload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 29(accEXT) DescriptorSet 0
Decorate 29(accEXT) Binding 0
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) BufferBlock
Decorate 52(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LaunchIDEXT): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeEXT): 10(ptr) Variable Input
27: TypeAccelerationStructureKHR
28: TypePointer UniformConstant 27
29(accEXT): 28(ptr) Variable UniformConstant
35: TypeFloat 32
36: TypeVector 35(float) 3
37(block): TypeStruct 36(fvec3) 36(fvec3)
38: TypePointer ShaderRecordBufferKHR 37(block)
39: 38(ptr) Variable ShaderRecordBufferKHR
40: TypeInt 32 1
41: 40(int) Constant 1
42: TypePointer ShaderRecordBufferKHR 36(fvec3)
45: 35(float) Constant 1056964608
46: 40(int) Constant 0
49: 35(float) Constant 1061158912
50: TypeVector 35(float) 4
51: TypePointer RayPayloadKHR 50(fvec4)
52(payload): 51(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
16(ly): 7(ptr) Variable Function
20(sx): 7(ptr) Variable Function
24(sy): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
15: 6(int) Load 14
Store 8(lx) 15
18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
19: 6(int) Load 18
Store 16(ly) 19
22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
23: 6(int) Load 22
Store 20(sx) 23
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
26: 6(int) Load 25
Store 24(sy) 26
30: 27 Load 29(accEXT)
31: 6(int) Load 8(lx)
32: 6(int) Load 16(ly)
33: 6(int) Load 20(sx)
34: 6(int) Load 24(sy)
43: 42(ptr) AccessChain 39 41
44: 36(fvec3) Load 43
47: 42(ptr) AccessChain 39 46
48: 36(fvec3) Load 47
TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
Return
FunctionEnd

View file

@ -0,0 +1,141 @@
spv.ext.RayGenShaderArray.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 89
Capability ShaderNonUniformEXT
Capability RuntimeDescriptorArrayEXT
Capability RayTracingProvisionalKHR
Extension "SPV_EXT_descriptor_indexing"
Extension "SPV_KHR_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main" 11 21
Source GLSL 460
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_EXT_ray_tracing"
Name 4 "main"
Name 8 "lx"
Name 11 "gl_LaunchIDEXT"
Name 16 "ly"
Name 20 "sx"
Name 21 "gl_LaunchSizeEXT"
Name 24 "sy"
Name 30 "accEXT0"
Name 34 "block"
MemberName 34(block) 0 "dir"
MemberName 34(block) 1 "origin"
MemberName 34(block) 2 "i"
Name 36 ""
Name 60 "accEXT1"
Name 88 "payload"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 30(accEXT0) DescriptorSet 0
Decorate 30(accEXT0) Binding 0
MemberDecorate 34(block) 0 Offset 0
MemberDecorate 34(block) 1 Offset 16
MemberDecorate 34(block) 2 Offset 28
Decorate 34(block) BufferBlock
Decorate 60(accEXT1) DescriptorSet 0
Decorate 60(accEXT1) Binding 1
Decorate 75 DecorationNonUniformEXT
Decorate 76 DecorationNonUniformEXT
Decorate 77 DecorationNonUniformEXT
Decorate 88(payload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LaunchIDEXT): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeEXT): 10(ptr) Variable Input
27: TypeAccelerationStructureKHR
28: TypeRuntimeArray 27
29: TypePointer UniformConstant 28
30(accEXT0): 29(ptr) Variable UniformConstant
31: TypeFloat 32
32: TypeVector 31(float) 3
33: TypeInt 32 1
34(block): TypeStruct 32(fvec3) 32(fvec3) 33(int)
35: TypePointer ShaderRecordBufferKHR 34(block)
36: 35(ptr) Variable ShaderRecordBufferKHR
37: 33(int) Constant 2
38: TypePointer ShaderRecordBufferKHR 33(int)
41: TypePointer UniformConstant 27
48: 33(int) Constant 1
49: TypePointer ShaderRecordBufferKHR 32(fvec3)
52: 31(float) Constant 1056964608
53: 33(int) Constant 0
56: 31(float) Constant 1061158912
57: 6(int) Constant 2
58: TypeArray 27 57
59: TypePointer UniformConstant 58
60(accEXT1): 59(ptr) Variable UniformConstant
86: TypeVector 31(float) 4
87: TypePointer RayPayloadKHR 86(fvec4)
88(payload): 87(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
16(ly): 7(ptr) Variable Function
20(sx): 7(ptr) Variable Function
24(sy): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
15: 6(int) Load 14
Store 8(lx) 15
18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
19: 6(int) Load 18
Store 16(ly) 19
22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
23: 6(int) Load 22
Store 20(sx) 23
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
26: 6(int) Load 25
Store 24(sy) 26
39: 38(ptr) AccessChain 36 37
40: 33(int) Load 39
42: 41(ptr) AccessChain 30(accEXT0) 40
43: 27 Load 42
44: 6(int) Load 8(lx)
45: 6(int) Load 16(ly)
46: 6(int) Load 20(sx)
47: 6(int) Load 24(sy)
50: 49(ptr) AccessChain 36 48
51: 32(fvec3) Load 50
54: 49(ptr) AccessChain 36 53
55: 32(fvec3) Load 54
TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
61: 38(ptr) AccessChain 36 37
62: 33(int) Load 61
63: 41(ptr) AccessChain 60(accEXT1) 62
64: 27 Load 63
65: 6(int) Load 8(lx)
66: 6(int) Load 16(ly)
67: 6(int) Load 20(sx)
68: 6(int) Load 24(sy)
69: 49(ptr) AccessChain 36 48
70: 32(fvec3) Load 69
71: 49(ptr) AccessChain 36 53
72: 32(fvec3) Load 71
TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
73: 38(ptr) AccessChain 36 37
74: 33(int) Load 73
75: 33(int) CopyObject 74
76: 41(ptr) AccessChain 30(accEXT0) 75
77: 27 Load 76
78: 6(int) Load 8(lx)
79: 6(int) Load 16(ly)
80: 6(int) Load 20(sx)
81: 6(int) Load 24(sy)
82: 49(ptr) AccessChain 36 48
83: 32(fvec3) Load 82
84: 49(ptr) AccessChain 36 53
85: 32(fvec3) Load 84
TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
Return
FunctionEnd

View file

@ -0,0 +1,40 @@
spv.ext.RayGenShader_Errors.rgen
ERROR: 0:3: 'hitAttributeEXT' : not supported in this stage: ray-generation
ERROR: 0:4: 'rayPayloadInEXT' : not supported in this stage: ray-generation
ERROR: 0:5: 'shaderRecordNV' : can only be used with a buffer
ERROR: 0:9: 'binding' : cannot be used with shaderRecordNV
ERROR: 0:12: 'set' : cannot be used with shaderRecordNV
ERROR: 0:23: 'accelerationStructureNV' : accelerationStructureNV can only be used in uniform variables or function parameters: a
ERROR: 0:23: '=' : cannot convert from ' const int' to ' temp accelerationStructureNV'
ERROR: 0:24: 'gl_PrimitiveID' : undeclared identifier
ERROR: 0:24: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:25: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
ERROR: 0:25: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:26: 'gl_InstanceCustomIndexEXT' : undeclared identifier
ERROR: 0:26: '=' : cannot convert from ' temp float' to ' temp highp int'
ERROR: 0:27: 'gl_WorldRayOriginEXT' : undeclared identifier
ERROR: 0:27: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:28: 'gl_WorldRayDirectionEXT' : undeclared identifier
ERROR: 0:28: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:29: 'gl_ObjectRayOriginEXT' : undeclared identifier
ERROR: 0:29: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:30: 'gl_ObjectRayDirectionEXT' : undeclared identifier
ERROR: 0:30: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
ERROR: 0:31: 'gl_RayTminEXT' : undeclared identifier
ERROR: 0:32: 'gl_RayTmaxEXT' : undeclared identifier
ERROR: 0:33: 'gl_ObjectToWorldEXT' : undeclared identifier
ERROR: 0:33: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:34: 'gl_WorldToObjectEXT' : undeclared identifier
ERROR: 0:34: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
ERROR: 0:35: 'gl_HitTEXT' : undeclared identifier
ERROR: 0:36: 'gl_HitKindEXT' : undeclared identifier
ERROR: 0:37: 'reportIntersectionEXT' : no matching overloaded function found
ERROR: 0:38: 'ignoreIntersectionEXT' : no matching overloaded function found
ERROR: 0:39: 'terminateRayEXT' : no matching overloaded function found
ERROR: 0:40: 'assign' : l-value required "anon@3" (can't modify a shaderrecordnv qualified buffer)
ERROR: 33 compilation errors. No code generated.
ERROR: Linking ray-generation stage: Only one shaderRecordNV buffer block is allowed per stage
SPIR-V is not generated for failed compile or link

View file

@ -0,0 +1,29 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
void main()
{
uvec3 v0 = gl_LaunchIDEXT;
uvec3 v1 = gl_LaunchSizeEXT;
int v2 = gl_PrimitiveID;
int v3 = gl_InstanceID;
int v4 = gl_InstanceCustomIndexEXT;
vec3 v5 = gl_WorldRayOriginEXT;
vec3 v6 = gl_WorldRayDirectionEXT;
vec3 v7 = gl_ObjectRayOriginEXT;
vec3 v8 = gl_ObjectRayDirectionEXT;
float v9 = gl_RayTminEXT;
float v10 = gl_RayTmaxEXT;
float v11 = gl_HitTEXT;
uint v12 = gl_HitKindEXT;
mat4x3 v13 = gl_ObjectToWorldEXT;
mat4x3 v14 = gl_WorldToObjectEXT;
int v15 = gl_GeometryIndexEXT;
mat3x4 v16 = gl_ObjectToWorld3x4EXT;
mat3x4 v17 = gl_WorldToObject3x4EXT;
incomingPayload = vec4(0.5f);
if (v2 == 1)
ignoreIntersectionEXT();
else
terminateRayEXT();
}

View file

@ -0,0 +1,11 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload;
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
void main()
{
payload.x = 1.0f; // ERROR, cannot write to hitattributeEXT in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
traceRayEXT(accEXT, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported builtin in stage
}

View file

@ -0,0 +1,27 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
layout(location = 0) rayPayloadEXT vec4 localPayload;
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
void main()
{
uvec3 v0 = gl_LaunchIDEXT;
uvec3 v1 = gl_LaunchSizeEXT;
int v2 = gl_PrimitiveID;
int v3 = gl_InstanceID;
int v4 = gl_InstanceCustomIndexEXT;
vec3 v5 = gl_WorldRayOriginEXT;
vec3 v6 = gl_WorldRayDirectionEXT;
vec3 v7 = gl_ObjectRayOriginEXT;
vec3 v8 = gl_ObjectRayDirectionEXT;
float v9 = gl_RayTminEXT;
float v10 = gl_RayTmaxEXT;
float v11 = gl_HitTEXT;
uint v12 = gl_HitKindEXT;
mat4x3 v13 = gl_ObjectToWorldEXT;
mat4x3 v14 = gl_WorldToObjectEXT;
int v15 = gl_GeometryIndexEXT;
mat3x4 v16 = gl_ObjectToWorld3x4EXT;
mat3x4 v17 = gl_WorldToObject3x4EXT;
traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
}

View file

@ -0,0 +1,12 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload;
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
void main()
{
payload.x = 1.0f; // ERROR, cannot write to hitattributeEXT in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
terminateRayEXT();
ignoreIntersectionEXT();
}

View file

@ -0,0 +1,23 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 iAttr;
void main()
{
uvec3 v0 = gl_LaunchIDEXT;
uvec3 v1 = gl_LaunchSizeEXT;
int v2 = gl_PrimitiveID;
int v3 = gl_InstanceID;
int v4 = gl_InstanceCustomIndexEXT;
vec3 v5 = gl_WorldRayOriginEXT;
vec3 v6 = gl_WorldRayDirectionEXT;
vec3 v7 = gl_ObjectRayOriginEXT;
vec3 v8 = gl_ObjectRayDirectionEXT;
float v9 = gl_RayTminEXT;
float v10 = gl_RayTmaxEXT;
mat4x3 v11 = gl_ObjectToWorldEXT;
mat4x3 v12 = gl_WorldToObjectEXT;
mat3x4 v13 = gl_ObjectToWorld3x4EXT;
mat3x4 v14 = gl_WorldToObject3x4EXT;
iAttr = vec4(0.5f,0.5f,0.0f,1.0f);
reportIntersectionEXT(0.5, 1U);
}

View file

@ -0,0 +1,11 @@
#version 460
#extension GL_EXT_ray_tracing : enable
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage
rayPayloadEXT vec4 payload; // ERROR, rayPayload unsuppoted in this stage
uniform accelerationStructureEXT accEXT;
void main()
{
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
traceRayEXT(accEXT, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported
}

View file

@ -0,0 +1,15 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
layout(location = 0) rayPayloadEXT vec4 localPayload;
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
void main()
{
uvec3 v0 = gl_LaunchIDEXT;
uvec3 v1 = gl_LaunchSizeEXT;
vec3 v2 = gl_WorldRayOriginEXT;
vec3 v3 = gl_WorldRayDirectionEXT;
float v4 = gl_RayTminEXT;
float v5 = gl_RayTmaxEXT;
traceRayEXT(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
}

View file

@ -0,0 +1,16 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload; // ERROR, hitattributeEXT unsupported in this stage
void main()
{
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
int e3 = gl_InstanceCustomIndexEXT; // ERROR, unsupported builtin in stage
mat4x3 e10 = gl_ObjectToWorldEXT; // ERROR, unsupported builtin in stage
mat4x3 e11 = gl_WorldToObjectEXT; // ERROR, unsupported builtin in stage
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
terminateRayEXT(); // ERROR, unsupported builtin in stage
}

View file

@ -0,0 +1,13 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(location = 0) callableDataEXT vec4 data0;
layout(location = 1) callableDataInEXT dataBlock {
uint data1;
};
void main()
{
uvec3 id = gl_LaunchIDEXT;
uvec3 size = gl_LaunchSizeEXT;
data1 = 256U;
executeCallableEXT(2,1);
}

View file

@ -0,0 +1,26 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 hitattr; // ERROR, hitattributeEXT unsupported in this stage
rayPayloadEXT vec4 payload; // ERROR, rayPayloadEXT unsupported in this stage
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadInEXT unsupported in this stage
void main()
{
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
int e3 = gl_InstanceCustomIndexEXT; // ERROR, unsupported builtin in stage
vec3 e4 = gl_WorldRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e5 = gl_WorldRayDirectionEXT; // ERROR, unsupported builtin in stage
vec3 e6 = gl_ObjectRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e7 = gl_ObjectRayDirectionEXT; // ERROR, unsupported builtin in stage
float e8 = gl_RayTminEXT; // ERROR, unsupported builtin in stage
float e9 = gl_RayTmaxEXT; // ERROR, unsupported builtin in stage
mat4x3 e10 = gl_ObjectToWorldEXT; // ERROR, unsupported builtin in stage
mat4x3 e11 = gl_WorldToObjectEXT; // ERROR, unsupported builtin in stage
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
uint curFlags = gl_IncomingRayFlagsEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
terminateRayEXT(); // ERROR, unsupported builtin in stage
}

View file

@ -0,0 +1,15 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
layout(location = 0) rayPayloadEXT vec4 payload;
void main()
{
const uint rayFlags = gl_RayFlagsNoneEXT | gl_RayFlagsOpaqueEXT |
gl_RayFlagsNoOpaqueEXT | gl_RayFlagsTerminateOnFirstHitEXT |
gl_RayFlagsSkipClosestHitShaderEXT | gl_RayFlagsCullBackFacingTrianglesEXT |
gl_RayFlagsCullFrontFacingTrianglesEXT | gl_RayFlagsCullOpaqueEXT |
gl_RayFlagsCullNoOpaqueEXT;
const int payloadId = 1;
traceRayEXT(accEXT, rayFlags, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, payloadId);
}

View file

@ -0,0 +1,20 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0;
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1; // Unused
layout(binding = 2, r32ui) shadercallcoherent uniform uimage2D imageu;
layout(location = 0) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
vec3 origin;
};
void main()
{
uint lx = gl_LaunchIDEXT.x;
uint ly = gl_LaunchIDEXT.y;
uint sx = gl_LaunchSizeEXT.x;
uint sy = gl_LaunchSizeEXT.y;
traceRayEXT(accEXT0, lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}

View file

@ -0,0 +1,17 @@
#version 460
#extension GL_EXT_ray_tracing : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
layout(location = 0) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
vec3 origin;
};
void main()
{
uint lx = gl_LaunchIDEXT.x;
uint ly = gl_LaunchIDEXT.y;
uint sx = gl_LaunchSizeEXT.x;
uint sy = gl_LaunchSizeEXT.y;
traceRayEXT(accEXT, lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}

View file

@ -0,0 +1,22 @@
#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_EXT_nonuniform_qualifier : enable
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[];
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2];
layout(location = 0) rayPayloadEXT vec4 payload;
layout(shaderRecordEXT) buffer block
{
vec3 dir;
vec3 origin;
int i;
};
void main()
{
uint lx = gl_LaunchIDEXT.x;
uint ly = gl_LaunchIDEXT.y;
uint sx = gl_LaunchSizeEXT.x;
uint sy = gl_LaunchSizeEXT.y;
traceRayEXT(accEXT0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
}

View file

@ -0,0 +1,41 @@
#version 460
#extension GL_EXT_ray_tracing : enable
hitAttributeEXT vec4 payload; // ERROR, hitattributeEXT unsupported in this stage
rayPayloadInEXT vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage
layout(shaderRecordEXT) uniform ublock // ERROR, shaderRecordEXT unsupported on uniform blocks
{
float a;
};
layout(binding = 0, shaderRecordEXT) buffer bblock { // ERROR, binding unsupported on shaderRecordEXT blocks
float b;
};
layout(set = 0, shaderRecordEXT) buffer bblock2 { // ERROR, set unsupported on shaderRecordEXT blocks
float c;
};
layout(shaderRecordEXT) buffer bblock3 {
float d;
};
layout(shaderRecordEXT) buffer bblock4 { // ERROR, cannot have more than one shaderRecordEXTX block
float e;
};
void main()
{
accelerationStructureEXT a = 0;
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
int e3 = gl_InstanceCustomIndexEXT; // ERROR, unsupported builtin in stage
vec3 e4 = gl_WorldRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e5 = gl_WorldRayDirectionEXT; // ERROR, unsupported builtin in stage
vec3 e6 = gl_ObjectRayOriginEXT; // ERROR, unsupported builtin in stage
vec3 e7 = gl_ObjectRayDirectionEXT; // ERROR, unsupported builtin in stage
float e8 = gl_RayTminEXT; // ERROR, unsupported builtin in stage
float e9 = gl_RayTmaxEXT; // ERROR, unsupported builtin in stage
mat4x3 e10 = gl_ObjectToWorldEXT; // ERROR, unsupported builtin in stage
mat4x3 e11 = gl_WorldToObjectEXT; // ERROR, unsupported builtin in stage
float e12 = gl_HitTEXT; // ERROR, unsupported builtin in stage
float e13 = gl_HitKindEXT; // ERROR, unsupported builtin in stage
reportIntersectionEXT(1.0, 1U); // ERROR, unsupported builtin in stage
ignoreIntersectionEXT(); // ERROR, unsupported builtin in stage
terminateRayEXT(); // ERROR, unsupported builtin in stage
d = 1.0f; // ERROR, can't modify shaderRecordEXT block
}