Add support for GLSL_EXT_ray_tracing
and SPV_KHR_ray_tracing
This commit is contained in:
parent
f368dcbb7d
commit
db32b243ff
69 changed files with 6912 additions and 4972 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
188
Test/baseResults/spv.ext.AnyHitShader.rahit.out
Normal file
188
Test/baseResults/spv.ext.AnyHitShader.rahit.out
Normal 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
|
||||
8
Test/baseResults/spv.ext.AnyHitShader_Errors.rahit.out
Normal file
8
Test/baseResults/spv.ext.AnyHitShader_Errors.rahit.out
Normal 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
|
||||
194
Test/baseResults/spv.ext.ClosestHitShader.rchit.out
Normal file
194
Test/baseResults/spv.ext.ClosestHitShader.rchit.out
Normal 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
|
||||
|
|
@ -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
|
||||
156
Test/baseResults/spv.ext.IntersectShader.rint.out
Normal file
156
Test/baseResults/spv.ext.IntersectShader.rint.out
Normal 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
|
||||
10
Test/baseResults/spv.ext.IntersectShader_Errors.rint.out
Normal file
10
Test/baseResults/spv.ext.IntersectShader_Errors.rint.out
Normal 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
|
||||
99
Test/baseResults/spv.ext.MissShader.rmiss.out
Normal file
99
Test/baseResults/spv.ext.MissShader.rmiss.out
Normal 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
|
||||
21
Test/baseResults/spv.ext.MissShader_Errors.rmiss.out
Normal file
21
Test/baseResults/spv.ext.MissShader_Errors.rmiss.out
Normal 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
|
||||
60
Test/baseResults/spv.ext.RayCallable.rcall.out
Normal file
60
Test/baseResults/spv.ext.RayCallable.rcall.out
Normal 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
|
||||
35
Test/baseResults/spv.ext.RayCallable_Errors.rcall.out
Normal file
35
Test/baseResults/spv.ext.RayCallable_Errors.rcall.out
Normal 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
|
||||
46
Test/baseResults/spv.ext.RayConstants.rgen.out
Normal file
46
Test/baseResults/spv.ext.RayConstants.rgen.out
Normal 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
|
||||
101
Test/baseResults/spv.ext.RayGenShader.rgen.out
Normal file
101
Test/baseResults/spv.ext.RayGenShader.rgen.out
Normal 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
|
||||
91
Test/baseResults/spv.ext.RayGenShader11.rgen.out
Normal file
91
Test/baseResults/spv.ext.RayGenShader11.rgen.out
Normal 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
|
||||
141
Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
Normal file
141
Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
Normal 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
|
||||
40
Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out
Normal file
40
Test/baseResults/spv.ext.RayGenShader_Errors.rgen.out
Normal 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
|
||||
29
Test/spv.ext.AnyHitShader.rahit
Normal file
29
Test/spv.ext.AnyHitShader.rahit
Normal 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();
|
||||
}
|
||||
11
Test/spv.ext.AnyHitShader_Errors.rahit
Normal file
11
Test/spv.ext.AnyHitShader_Errors.rahit
Normal 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
|
||||
}
|
||||
27
Test/spv.ext.ClosestHitShader.rchit
Normal file
27
Test/spv.ext.ClosestHitShader.rchit
Normal 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);
|
||||
}
|
||||
12
Test/spv.ext.ClosestHitShader_Errors.rchit
Normal file
12
Test/spv.ext.ClosestHitShader_Errors.rchit
Normal 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();
|
||||
}
|
||||
23
Test/spv.ext.IntersectShader.rint
Normal file
23
Test/spv.ext.IntersectShader.rint
Normal 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);
|
||||
}
|
||||
11
Test/spv.ext.IntersectShader_Errors.rint
Normal file
11
Test/spv.ext.IntersectShader_Errors.rint
Normal 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
|
||||
}
|
||||
15
Test/spv.ext.MissShader.rmiss
Normal file
15
Test/spv.ext.MissShader.rmiss
Normal 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);
|
||||
}
|
||||
16
Test/spv.ext.MissShader_Errors.rmiss
Normal file
16
Test/spv.ext.MissShader_Errors.rmiss
Normal 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
|
||||
}
|
||||
13
Test/spv.ext.RayCallable.rcall
Normal file
13
Test/spv.ext.RayCallable.rcall
Normal 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);
|
||||
}
|
||||
26
Test/spv.ext.RayCallable_Errors.rcall
Normal file
26
Test/spv.ext.RayCallable_Errors.rcall
Normal 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
|
||||
}
|
||||
15
Test/spv.ext.RayConstants.rgen
Normal file
15
Test/spv.ext.RayConstants.rgen
Normal 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);
|
||||
}
|
||||
20
Test/spv.ext.RayGenShader.rgen
Normal file
20
Test/spv.ext.RayGenShader.rgen
Normal 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);
|
||||
}
|
||||
17
Test/spv.ext.RayGenShader11.rgen
Normal file
17
Test/spv.ext.RayGenShader11.rgen
Normal 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);
|
||||
}
|
||||
22
Test/spv.ext.RayGenShaderArray.rgen
Normal file
22
Test/spv.ext.RayGenShaderArray.rgen
Normal 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);
|
||||
}
|
||||
41
Test/spv.ext.RayGenShader_Errors.rgen
Normal file
41
Test/spv.ext.RayGenShader_Errors.rgen
Normal 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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue