Add-support-for-SPV_NVX_raytracing
This commit is contained in:
163
Test/baseResults/spv.AnyHitShader.rahit.out
Normal file
163
Test/baseResults/spv.AnyHitShader.rahit.out
Normal file
@@ -0,0 +1,163 @@
|
||||
spv.AnyHitShader.rahit
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 81
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint AnyHitNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 9 "v0"
|
||||
Name 11 "gl_LaunchIDNVX"
|
||||
Name 13 "v1"
|
||||
Name 14 "gl_LaunchSizeNVX"
|
||||
Name 18 "v2"
|
||||
Name 20 "gl_PrimitiveID"
|
||||
Name 22 "v3"
|
||||
Name 23 "gl_InstanceID"
|
||||
Name 25 "v4"
|
||||
Name 26 "gl_InstanceCustomIndexNVX"
|
||||
Name 31 "v5"
|
||||
Name 33 "gl_WorldRayOriginNVX"
|
||||
Name 35 "v6"
|
||||
Name 36 "gl_WorldRayDirectionNVX"
|
||||
Name 38 "v7"
|
||||
Name 39 "gl_ObjectRayOriginNVX"
|
||||
Name 41 "v8"
|
||||
Name 42 "gl_ObjectRayDirectionNVX"
|
||||
Name 45 "v9"
|
||||
Name 47 "gl_RayTminNVX"
|
||||
Name 49 "v10"
|
||||
Name 50 "gl_RayTmaxNVX"
|
||||
Name 52 "v11"
|
||||
Name 53 "gl_HitTNVX"
|
||||
Name 56 "v12"
|
||||
Name 58 "gl_HitKindNVX"
|
||||
Name 62 "v13"
|
||||
Name 64 "gl_ObjectToWorldNVX"
|
||||
Name 66 "v14"
|
||||
Name 67 "gl_WorldToObjectNVX"
|
||||
Name 71 "incomingPayload"
|
||||
Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
|
||||
Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
|
||||
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 23(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
|
||||
Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
|
||||
Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
|
||||
Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
|
||||
Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
|
||||
Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
|
||||
Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
|
||||
Decorate 53(gl_HitTNVX) BuiltIn HitTNVX
|
||||
Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX
|
||||
Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
|
||||
Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
|
||||
Decorate 71(incomingPayload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypePointer Input 7(ivec2)
|
||||
11(gl_LaunchIDNVX): 10(ptr) Variable Input
|
||||
14(gl_LaunchSizeNVX): 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_InstanceCustomIndexNVX): 19(ptr) Variable Input
|
||||
28: TypeFloat 32
|
||||
29: TypeVector 28(float) 3
|
||||
30: TypePointer Function 29(fvec3)
|
||||
32: TypePointer Input 29(fvec3)
|
||||
33(gl_WorldRayOriginNVX): 32(ptr) Variable Input
|
||||
36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input
|
||||
39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input
|
||||
42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input
|
||||
44: TypePointer Function 28(float)
|
||||
46: TypePointer Input 28(float)
|
||||
47(gl_RayTminNVX): 46(ptr) Variable Input
|
||||
50(gl_RayTmaxNVX): 46(ptr) Variable Input
|
||||
53(gl_HitTNVX): 46(ptr) Variable Input
|
||||
55: TypePointer Function 6(int)
|
||||
57: TypePointer Input 6(int)
|
||||
58(gl_HitKindNVX): 57(ptr) Variable Input
|
||||
60: TypeMatrix 29(fvec3) 4
|
||||
61: TypePointer Function 60
|
||||
63: TypePointer Input 60
|
||||
64(gl_ObjectToWorldNVX): 63(ptr) Variable Input
|
||||
67(gl_WorldToObjectNVX): 63(ptr) Variable Input
|
||||
69: TypeVector 28(float) 4
|
||||
70: TypePointer IncomingRayPayloadNVX 69(fvec4)
|
||||
71(incomingPayload): 70(ptr) Variable IncomingRayPayloadNVX
|
||||
72: 28(float) Constant 1056964608
|
||||
73: 69(fvec4) ConstantComposite 72 72 72 72
|
||||
75: 16(int) Constant 1
|
||||
76: TypeBool
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(v0): 8(ptr) Variable Function
|
||||
13(v1): 8(ptr) Variable Function
|
||||
18(v2): 17(ptr) Variable Function
|
||||
22(v3): 17(ptr) Variable Function
|
||||
25(v4): 17(ptr) Variable Function
|
||||
31(v5): 30(ptr) Variable Function
|
||||
35(v6): 30(ptr) Variable Function
|
||||
38(v7): 30(ptr) Variable Function
|
||||
41(v8): 30(ptr) Variable Function
|
||||
45(v9): 44(ptr) Variable Function
|
||||
49(v10): 44(ptr) Variable Function
|
||||
52(v11): 44(ptr) Variable Function
|
||||
56(v12): 55(ptr) Variable Function
|
||||
62(v13): 61(ptr) Variable Function
|
||||
66(v14): 61(ptr) Variable Function
|
||||
12: 7(ivec2) Load 11(gl_LaunchIDNVX)
|
||||
Store 9(v0) 12
|
||||
15: 7(ivec2) Load 14(gl_LaunchSizeNVX)
|
||||
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_InstanceCustomIndexNVX)
|
||||
Store 25(v4) 27
|
||||
34: 29(fvec3) Load 33(gl_WorldRayOriginNVX)
|
||||
Store 31(v5) 34
|
||||
37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX)
|
||||
Store 35(v6) 37
|
||||
40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX)
|
||||
Store 38(v7) 40
|
||||
43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
|
||||
Store 41(v8) 43
|
||||
48: 28(float) Load 47(gl_RayTminNVX)
|
||||
Store 45(v9) 48
|
||||
51: 28(float) Load 50(gl_RayTmaxNVX)
|
||||
Store 49(v10) 51
|
||||
54: 28(float) Load 53(gl_HitTNVX)
|
||||
Store 52(v11) 54
|
||||
59: 6(int) Load 58(gl_HitKindNVX)
|
||||
Store 56(v12) 59
|
||||
65: 60 Load 64(gl_ObjectToWorldNVX)
|
||||
Store 62(v13) 65
|
||||
68: 60 Load 67(gl_WorldToObjectNVX)
|
||||
Store 66(v14) 68
|
||||
Store 71(incomingPayload) 73
|
||||
74: 16(int) Load 18(v2)
|
||||
77: 76(bool) IEqual 74 75
|
||||
SelectionMerge 79 None
|
||||
BranchConditional 77 78 80
|
||||
78: Label
|
||||
IgnoreIntersectionNVX
|
||||
Branch 79
|
||||
80: Label
|
||||
TerminateRayNVX
|
||||
Branch 79
|
||||
79: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
8
Test/baseResults/spv.AnyHitShader_Errors.rahit.out
Normal file
8
Test/baseResults/spv.AnyHitShader_Errors.rahit.out
Normal file
@@ -0,0 +1,8 @@
|
||||
spv.AnyHitShader_Errors.rahit
|
||||
ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNVX in this stage)
|
||||
ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:10: 'traceNVX' : no matching overloaded function found
|
||||
ERROR: 3 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
169
Test/baseResults/spv.ClosestHitShader.rchit.out
Normal file
169
Test/baseResults/spv.ClosestHitShader.rchit.out
Normal file
@@ -0,0 +1,169 @@
|
||||
spv.ClosestHitShader.rchit
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 88
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint ClosestHitNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 9 "v0"
|
||||
Name 11 "gl_LaunchIDNVX"
|
||||
Name 13 "v1"
|
||||
Name 14 "gl_LaunchSizeNVX"
|
||||
Name 18 "v2"
|
||||
Name 20 "gl_PrimitiveID"
|
||||
Name 22 "v3"
|
||||
Name 23 "gl_InstanceID"
|
||||
Name 25 "v4"
|
||||
Name 26 "gl_InstanceCustomIndexNVX"
|
||||
Name 31 "v5"
|
||||
Name 33 "gl_WorldRayOriginNVX"
|
||||
Name 35 "v6"
|
||||
Name 36 "gl_WorldRayDirectionNVX"
|
||||
Name 38 "v7"
|
||||
Name 39 "gl_ObjectRayOriginNVX"
|
||||
Name 41 "v8"
|
||||
Name 42 "gl_ObjectRayDirectionNVX"
|
||||
Name 45 "v9"
|
||||
Name 47 "gl_RayTminNVX"
|
||||
Name 49 "v10"
|
||||
Name 50 "gl_RayTmaxNVX"
|
||||
Name 52 "v11"
|
||||
Name 53 "gl_HitTNVX"
|
||||
Name 56 "v12"
|
||||
Name 58 "gl_HitKindNVX"
|
||||
Name 62 "v13"
|
||||
Name 64 "gl_ObjectToWorldNVX"
|
||||
Name 66 "v14"
|
||||
Name 67 "gl_WorldToObjectNVX"
|
||||
Name 71 "accNV"
|
||||
Name 85 "localPayload"
|
||||
Name 87 "incomingPayload"
|
||||
Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
|
||||
Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
|
||||
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 23(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
|
||||
Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
|
||||
Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
|
||||
Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
|
||||
Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
|
||||
Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
|
||||
Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
|
||||
Decorate 53(gl_HitTNVX) BuiltIn HitTNVX
|
||||
Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX
|
||||
Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
|
||||
Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
|
||||
Decorate 71(accNV) DescriptorSet 0
|
||||
Decorate 71(accNV) Binding 0
|
||||
Decorate 85(localPayload) Location 0
|
||||
Decorate 87(incomingPayload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypePointer Input 7(ivec2)
|
||||
11(gl_LaunchIDNVX): 10(ptr) Variable Input
|
||||
14(gl_LaunchSizeNVX): 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_InstanceCustomIndexNVX): 19(ptr) Variable Input
|
||||
28: TypeFloat 32
|
||||
29: TypeVector 28(float) 3
|
||||
30: TypePointer Function 29(fvec3)
|
||||
32: TypePointer Input 29(fvec3)
|
||||
33(gl_WorldRayOriginNVX): 32(ptr) Variable Input
|
||||
36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input
|
||||
39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input
|
||||
42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input
|
||||
44: TypePointer Function 28(float)
|
||||
46: TypePointer Input 28(float)
|
||||
47(gl_RayTminNVX): 46(ptr) Variable Input
|
||||
50(gl_RayTmaxNVX): 46(ptr) Variable Input
|
||||
53(gl_HitTNVX): 46(ptr) Variable Input
|
||||
55: TypePointer Function 6(int)
|
||||
57: TypePointer Input 6(int)
|
||||
58(gl_HitKindNVX): 57(ptr) Variable Input
|
||||
60: TypeMatrix 29(fvec3) 4
|
||||
61: TypePointer Function 60
|
||||
63: TypePointer Input 60
|
||||
64(gl_ObjectToWorldNVX): 63(ptr) Variable Input
|
||||
67(gl_WorldToObjectNVX): 63(ptr) Variable Input
|
||||
69: TypeAccelerationStructureNVX
|
||||
70: TypePointer UniformConstant 69
|
||||
71(accNV): 70(ptr) Variable UniformConstant
|
||||
73: 6(int) Constant 0
|
||||
74: 6(int) Constant 1
|
||||
75: 6(int) Constant 2
|
||||
76: 6(int) Constant 3
|
||||
77: 28(float) Constant 1056964608
|
||||
78: 29(fvec3) ConstantComposite 77 77 77
|
||||
79: 28(float) Constant 1065353216
|
||||
80: 29(fvec3) ConstantComposite 79 79 79
|
||||
81: 28(float) Constant 1061158912
|
||||
82: 16(int) Constant 1
|
||||
83: TypeVector 28(float) 4
|
||||
84: TypePointer RayPayloadNVX 83(fvec4)
|
||||
85(localPayload): 84(ptr) Variable RayPayloadNVX
|
||||
86: TypePointer IncomingRayPayloadNVX 83(fvec4)
|
||||
87(incomingPayload): 86(ptr) Variable IncomingRayPayloadNVX
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(v0): 8(ptr) Variable Function
|
||||
13(v1): 8(ptr) Variable Function
|
||||
18(v2): 17(ptr) Variable Function
|
||||
22(v3): 17(ptr) Variable Function
|
||||
25(v4): 17(ptr) Variable Function
|
||||
31(v5): 30(ptr) Variable Function
|
||||
35(v6): 30(ptr) Variable Function
|
||||
38(v7): 30(ptr) Variable Function
|
||||
41(v8): 30(ptr) Variable Function
|
||||
45(v9): 44(ptr) Variable Function
|
||||
49(v10): 44(ptr) Variable Function
|
||||
52(v11): 44(ptr) Variable Function
|
||||
56(v12): 55(ptr) Variable Function
|
||||
62(v13): 61(ptr) Variable Function
|
||||
66(v14): 61(ptr) Variable Function
|
||||
12: 7(ivec2) Load 11(gl_LaunchIDNVX)
|
||||
Store 9(v0) 12
|
||||
15: 7(ivec2) Load 14(gl_LaunchSizeNVX)
|
||||
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_InstanceCustomIndexNVX)
|
||||
Store 25(v4) 27
|
||||
34: 29(fvec3) Load 33(gl_WorldRayOriginNVX)
|
||||
Store 31(v5) 34
|
||||
37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX)
|
||||
Store 35(v6) 37
|
||||
40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX)
|
||||
Store 38(v7) 40
|
||||
43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
|
||||
Store 41(v8) 43
|
||||
48: 28(float) Load 47(gl_RayTminNVX)
|
||||
Store 45(v9) 48
|
||||
51: 28(float) Load 50(gl_RayTmaxNVX)
|
||||
Store 49(v10) 51
|
||||
54: 28(float) Load 53(gl_HitTNVX)
|
||||
Store 52(v11) 54
|
||||
59: 6(int) Load 58(gl_HitKindNVX)
|
||||
Store 56(v12) 59
|
||||
65: 60 Load 64(gl_ObjectToWorldNVX)
|
||||
Store 62(v13) 65
|
||||
68: 60 Load 67(gl_WorldToObjectNVX)
|
||||
Store 66(v14) 68
|
||||
72: 69 Load 71(accNV)
|
||||
TraceNVX 72 73 74 75 76 73 78 77 80 81 82
|
||||
Return
|
||||
FunctionEnd
|
||||
9
Test/baseResults/spv.ClosestHitShader_Errors.rchit.out
Normal file
9
Test/baseResults/spv.ClosestHitShader_Errors.rchit.out
Normal file
@@ -0,0 +1,9 @@
|
||||
spv.ClosestHitShader_Errors.rchit
|
||||
ERROR: 0:8: 'assign' : l-value required "payload" (cannot modify hitAttributeNVX in this stage)
|
||||
ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:10: 'terminateRayNVX' : no matching overloaded function found
|
||||
ERROR: 0:11: 'ignoreIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
138
Test/baseResults/spv.IntersectShader.rint.out
Normal file
138
Test/baseResults/spv.IntersectShader.rint.out
Normal file
@@ -0,0 +1,138 @@
|
||||
spv.IntersectShader.rint
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 71
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint IntersectionNVX 4 "main" 11 14 20 23 26 33 36 39 42 47 50 56 59
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 9 "v0"
|
||||
Name 11 "gl_LaunchIDNVX"
|
||||
Name 13 "v1"
|
||||
Name 14 "gl_LaunchSizeNVX"
|
||||
Name 18 "v2"
|
||||
Name 20 "gl_PrimitiveID"
|
||||
Name 22 "v3"
|
||||
Name 23 "gl_InstanceID"
|
||||
Name 25 "v4"
|
||||
Name 26 "gl_InstanceCustomIndexNVX"
|
||||
Name 31 "v5"
|
||||
Name 33 "gl_WorldRayOriginNVX"
|
||||
Name 35 "v6"
|
||||
Name 36 "gl_WorldRayDirectionNVX"
|
||||
Name 38 "v7"
|
||||
Name 39 "gl_ObjectRayOriginNVX"
|
||||
Name 41 "v8"
|
||||
Name 42 "gl_ObjectRayDirectionNVX"
|
||||
Name 45 "v9"
|
||||
Name 47 "gl_RayTminNVX"
|
||||
Name 49 "v10"
|
||||
Name 50 "gl_RayTmaxNVX"
|
||||
Name 54 "v11"
|
||||
Name 56 "gl_ObjectToWorldNVX"
|
||||
Name 58 "v12"
|
||||
Name 59 "gl_WorldToObjectNVX"
|
||||
Name 63 "iAttr"
|
||||
Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
|
||||
Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
|
||||
Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
|
||||
Decorate 23(gl_InstanceID) BuiltIn InstanceId
|
||||
Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
|
||||
Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
|
||||
Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
|
||||
Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
|
||||
Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
|
||||
Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
|
||||
Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
|
||||
Decorate 56(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
|
||||
Decorate 59(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypePointer Input 7(ivec2)
|
||||
11(gl_LaunchIDNVX): 10(ptr) Variable Input
|
||||
14(gl_LaunchSizeNVX): 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_InstanceCustomIndexNVX): 19(ptr) Variable Input
|
||||
28: TypeFloat 32
|
||||
29: TypeVector 28(float) 3
|
||||
30: TypePointer Function 29(fvec3)
|
||||
32: TypePointer Input 29(fvec3)
|
||||
33(gl_WorldRayOriginNVX): 32(ptr) Variable Input
|
||||
36(gl_WorldRayDirectionNVX): 32(ptr) Variable Input
|
||||
39(gl_ObjectRayOriginNVX): 32(ptr) Variable Input
|
||||
42(gl_ObjectRayDirectionNVX): 32(ptr) Variable Input
|
||||
44: TypePointer Function 28(float)
|
||||
46: TypePointer Input 28(float)
|
||||
47(gl_RayTminNVX): 46(ptr) Variable Input
|
||||
50(gl_RayTmaxNVX): 46(ptr) Variable Input
|
||||
52: TypeMatrix 29(fvec3) 4
|
||||
53: TypePointer Function 52
|
||||
55: TypePointer Input 52
|
||||
56(gl_ObjectToWorldNVX): 55(ptr) Variable Input
|
||||
59(gl_WorldToObjectNVX): 55(ptr) Variable Input
|
||||
61: TypeVector 28(float) 4
|
||||
62: TypePointer HitAttributeNVX 61(fvec4)
|
||||
63(iAttr): 62(ptr) Variable HitAttributeNVX
|
||||
64: 28(float) Constant 1056964608
|
||||
65: 28(float) Constant 0
|
||||
66: 28(float) Constant 1065353216
|
||||
67: 61(fvec4) ConstantComposite 64 64 65 66
|
||||
68: 6(int) Constant 1
|
||||
69: 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
|
||||
12: 7(ivec2) Load 11(gl_LaunchIDNVX)
|
||||
Store 9(v0) 12
|
||||
15: 7(ivec2) Load 14(gl_LaunchSizeNVX)
|
||||
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_InstanceCustomIndexNVX)
|
||||
Store 25(v4) 27
|
||||
34: 29(fvec3) Load 33(gl_WorldRayOriginNVX)
|
||||
Store 31(v5) 34
|
||||
37: 29(fvec3) Load 36(gl_WorldRayDirectionNVX)
|
||||
Store 35(v6) 37
|
||||
40: 29(fvec3) Load 39(gl_ObjectRayOriginNVX)
|
||||
Store 38(v7) 40
|
||||
43: 29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
|
||||
Store 41(v8) 43
|
||||
48: 28(float) Load 47(gl_RayTminNVX)
|
||||
Store 45(v9) 48
|
||||
51: 28(float) Load 50(gl_RayTmaxNVX)
|
||||
Store 49(v10) 51
|
||||
57: 52 Load 56(gl_ObjectToWorldNVX)
|
||||
Store 54(v11) 57
|
||||
60: 52 Load 59(gl_WorldToObjectNVX)
|
||||
Store 58(v12) 60
|
||||
Store 63(iAttr) 67
|
||||
70: 69(bool) ReportIntersectionNVX 64 68
|
||||
Return
|
||||
FunctionEnd
|
||||
10
Test/baseResults/spv.IntersectShader_Errors.rint.out
Normal file
10
Test/baseResults/spv.IntersectShader_Errors.rint.out
Normal file
@@ -0,0 +1,10 @@
|
||||
spv.IntersectShader_Errors.rint
|
||||
ERROR: 0:3: 'rayPayloadInNVX' : not supported in this stage: intersection
|
||||
ERROR: 0:4: 'rayPayloadNVX' : not supported in this stage: intersection
|
||||
ERROR: 0:8: 'gl_HitTNVX' : undeclared identifier
|
||||
ERROR: 0:9: 'gl_HitKindNVX' : undeclared identifier
|
||||
ERROR: 0:10: 'traceNVX' : no matching overloaded function found
|
||||
ERROR: 5 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
113
Test/baseResults/spv.MissShader.rmiss.out
Normal file
113
Test/baseResults/spv.MissShader.rmiss.out
Normal file
@@ -0,0 +1,113 @@
|
||||
spv.MissShader.rmiss
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 60
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MissNVX 4 "main" 11 14 21 24 27 30 35 38
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 9 "v0"
|
||||
Name 11 "gl_LaunchIDNVX"
|
||||
Name 13 "v1"
|
||||
Name 14 "gl_LaunchSizeNVX"
|
||||
Name 19 "v2"
|
||||
Name 21 "gl_WorldRayOriginNVX"
|
||||
Name 23 "v3"
|
||||
Name 24 "gl_WorldRayDirectionNVX"
|
||||
Name 26 "v4"
|
||||
Name 27 "gl_ObjectRayOriginNVX"
|
||||
Name 29 "v5"
|
||||
Name 30 "gl_ObjectRayDirectionNVX"
|
||||
Name 33 "v6"
|
||||
Name 35 "gl_RayTminNVX"
|
||||
Name 37 "v7"
|
||||
Name 38 "gl_RayTmaxNVX"
|
||||
Name 42 "accNV"
|
||||
Name 57 "localPayload"
|
||||
Name 59 "incomingPayload"
|
||||
Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
|
||||
Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
|
||||
Decorate 21(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
|
||||
Decorate 24(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
|
||||
Decorate 27(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
|
||||
Decorate 30(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
|
||||
Decorate 35(gl_RayTminNVX) BuiltIn RayTminNVX
|
||||
Decorate 38(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
|
||||
Decorate 42(accNV) DescriptorSet 0
|
||||
Decorate 42(accNV) Binding 0
|
||||
Decorate 57(localPayload) Location 0
|
||||
Decorate 59(incomingPayload) Location 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 2
|
||||
8: TypePointer Function 7(ivec2)
|
||||
10: TypePointer Input 7(ivec2)
|
||||
11(gl_LaunchIDNVX): 10(ptr) Variable Input
|
||||
14(gl_LaunchSizeNVX): 10(ptr) Variable Input
|
||||
16: TypeFloat 32
|
||||
17: TypeVector 16(float) 3
|
||||
18: TypePointer Function 17(fvec3)
|
||||
20: TypePointer Input 17(fvec3)
|
||||
21(gl_WorldRayOriginNVX): 20(ptr) Variable Input
|
||||
24(gl_WorldRayDirectionNVX): 20(ptr) Variable Input
|
||||
27(gl_ObjectRayOriginNVX): 20(ptr) Variable Input
|
||||
30(gl_ObjectRayDirectionNVX): 20(ptr) Variable Input
|
||||
32: TypePointer Function 16(float)
|
||||
34: TypePointer Input 16(float)
|
||||
35(gl_RayTminNVX): 34(ptr) Variable Input
|
||||
38(gl_RayTmaxNVX): 34(ptr) Variable Input
|
||||
40: TypeAccelerationStructureNVX
|
||||
41: TypePointer UniformConstant 40
|
||||
42(accNV): 41(ptr) Variable UniformConstant
|
||||
44: 6(int) Constant 0
|
||||
45: 6(int) Constant 1
|
||||
46: 6(int) Constant 2
|
||||
47: 6(int) Constant 3
|
||||
48: 16(float) Constant 1056964608
|
||||
49: 17(fvec3) ConstantComposite 48 48 48
|
||||
50: 16(float) Constant 1065353216
|
||||
51: 17(fvec3) ConstantComposite 50 50 50
|
||||
52: 16(float) Constant 1061158912
|
||||
53: TypeInt 32 1
|
||||
54: 53(int) Constant 1
|
||||
55: TypeVector 16(float) 4
|
||||
56: TypePointer RayPayloadNVX 55(fvec4)
|
||||
57(localPayload): 56(ptr) Variable RayPayloadNVX
|
||||
58: TypePointer IncomingRayPayloadNVX 55(fvec4)
|
||||
59(incomingPayload): 58(ptr) Variable IncomingRayPayloadNVX
|
||||
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
|
||||
26(v4): 18(ptr) Variable Function
|
||||
29(v5): 18(ptr) Variable Function
|
||||
33(v6): 32(ptr) Variable Function
|
||||
37(v7): 32(ptr) Variable Function
|
||||
12: 7(ivec2) Load 11(gl_LaunchIDNVX)
|
||||
Store 9(v0) 12
|
||||
15: 7(ivec2) Load 14(gl_LaunchSizeNVX)
|
||||
Store 13(v1) 15
|
||||
22: 17(fvec3) Load 21(gl_WorldRayOriginNVX)
|
||||
Store 19(v2) 22
|
||||
25: 17(fvec3) Load 24(gl_WorldRayDirectionNVX)
|
||||
Store 23(v3) 25
|
||||
28: 17(fvec3) Load 27(gl_ObjectRayOriginNVX)
|
||||
Store 26(v4) 28
|
||||
31: 17(fvec3) Load 30(gl_ObjectRayDirectionNVX)
|
||||
Store 29(v5) 31
|
||||
36: 16(float) Load 35(gl_RayTminNVX)
|
||||
Store 33(v6) 36
|
||||
39: 16(float) Load 38(gl_RayTmaxNVX)
|
||||
Store 37(v7) 39
|
||||
43: 40 Load 42(accNV)
|
||||
TraceNVX 43 44 45 46 47 44 49 48 51 52 54
|
||||
Return
|
||||
FunctionEnd
|
||||
21
Test/baseResults/spv.MissShader_Errors.rmiss.out
Normal file
21
Test/baseResults/spv.MissShader_Errors.rmiss.out
Normal file
@@ -0,0 +1,21 @@
|
||||
spv.MissShader_Errors.rmiss
|
||||
ERROR: 0:3: 'hitAttributeNVX' : 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_InstanceCustomIndexNVX' : undeclared identifier
|
||||
ERROR: 0:8: '=' : cannot convert from ' temp float' to ' temp highp int'
|
||||
ERROR: 0:9: 'gl_ObjectToWorldNVX' : undeclared identifier
|
||||
ERROR: 0:9: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
|
||||
ERROR: 0:10: 'gl_WorldToObjectNVX' : undeclared identifier
|
||||
ERROR: 0:10: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
|
||||
ERROR: 0:11: 'gl_HitTNVX' : undeclared identifier
|
||||
ERROR: 0:12: 'gl_HitKindNVX' : undeclared identifier
|
||||
ERROR: 0:13: 'reportIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:14: 'ignoreIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:15: 'terminateRayNVX' : no matching overloaded function found
|
||||
ERROR: 16 compilation errors. No code generated.
|
||||
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
46
Test/baseResults/spv.RayConstants.rgen.out
Normal file
46
Test/baseResults/spv.RayConstants.rgen.out
Normal file
@@ -0,0 +1,46 @@
|
||||
spv.RayConstants.rgen
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 27
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint RayGenerationNVX 4 "main"
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 8 "accNV"
|
||||
Name 26 "payload"
|
||||
Decorate 8(accNV) DescriptorSet 0
|
||||
Decorate 8(accNV) Binding 0
|
||||
Decorate 26(payload) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeAccelerationStructureNVX
|
||||
7: TypePointer UniformConstant 6
|
||||
8(accNV): 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 RayPayloadNVX 24(fvec4)
|
||||
26(payload): 25(ptr) Variable RayPayloadNVX
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9: 6 Load 8(accNV)
|
||||
TraceNVX 9 11 12 13 13 12 17 18 20 21 23
|
||||
Return
|
||||
FunctionEnd
|
||||
101
Test/baseResults/spv.RayGenShader.rgen.out
Normal file
101
Test/baseResults/spv.RayGenShader.rgen.out
Normal file
@@ -0,0 +1,101 @@
|
||||
spv.RayGenShader.rgen
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 60
|
||||
|
||||
Capability RaytracingNVX
|
||||
Extension "SPV_NVX_raytracing"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint RayGenerationNVX 4 "main" 11 21
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_NVX_raytracing"
|
||||
Name 4 "main"
|
||||
Name 8 "lx"
|
||||
Name 11 "gl_LaunchIDNVX"
|
||||
Name 16 "ly"
|
||||
Name 20 "sx"
|
||||
Name 21 "gl_LaunchSizeNVX"
|
||||
Name 24 "sy"
|
||||
Name 29 "accNV"
|
||||
Name 48 "block"
|
||||
MemberName 48(block) 0 "arr"
|
||||
MemberName 48(block) 1 "pad"
|
||||
Name 50 ""
|
||||
Name 56 "payload"
|
||||
Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
|
||||
Decorate 21(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
|
||||
Decorate 29(accNV) DescriptorSet 0
|
||||
Decorate 29(accNV) Binding 0
|
||||
Decorate 46 ArrayStride 4
|
||||
MemberDecorate 48(block) 0 Offset 0
|
||||
MemberDecorate 48(block) 1 Offset 16
|
||||
Decorate 48(block) BufferBlock
|
||||
Decorate 56(payload) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypeVector 6(int) 2
|
||||
10: TypePointer Input 9(ivec2)
|
||||
11(gl_LaunchIDNVX): 10(ptr) Variable Input
|
||||
12: 6(int) Constant 0
|
||||
13: TypePointer Input 6(int)
|
||||
17: 6(int) Constant 1
|
||||
21(gl_LaunchSizeNVX): 10(ptr) Variable Input
|
||||
27: TypeAccelerationStructureNVX
|
||||
28: TypePointer UniformConstant 27
|
||||
29(accNV): 28(ptr) Variable UniformConstant
|
||||
35: TypeFloat 32
|
||||
36: TypeVector 35(float) 3
|
||||
37: 35(float) Constant 0
|
||||
38: 36(fvec3) ConstantComposite 37 37 37
|
||||
39: 35(float) Constant 1056964608
|
||||
40: 35(float) Constant 1065353216
|
||||
41: 36(fvec3) ConstantComposite 40 40 40
|
||||
42: 35(float) Constant 1061158912
|
||||
43: TypeInt 32 1
|
||||
44: 43(int) Constant 1
|
||||
45: 6(int) Constant 4
|
||||
46: TypeArray 35(float) 45
|
||||
47: TypeVector 35(float) 4
|
||||
48(block): TypeStruct 46 47(fvec4)
|
||||
49: TypePointer ShaderRecordBufferNVX 48(block)
|
||||
50: 49(ptr) Variable ShaderRecordBufferNVX
|
||||
51: 43(int) Constant 0
|
||||
52: 43(int) Constant 3
|
||||
53: TypePointer ShaderRecordBufferNVX 35(float)
|
||||
55: TypePointer RayPayloadNVX 47(fvec4)
|
||||
56(payload): 55(ptr) Variable RayPayloadNVX
|
||||
58: TypePointer ShaderRecordBufferNVX 47(fvec4)
|
||||
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_LaunchIDNVX) 12
|
||||
15: 6(int) Load 14
|
||||
Store 8(lx) 15
|
||||
18: 13(ptr) AccessChain 11(gl_LaunchIDNVX) 17
|
||||
19: 6(int) Load 18
|
||||
Store 16(ly) 19
|
||||
22: 13(ptr) AccessChain 21(gl_LaunchSizeNVX) 12
|
||||
23: 6(int) Load 22
|
||||
Store 20(sx) 23
|
||||
25: 13(ptr) AccessChain 21(gl_LaunchSizeNVX) 17
|
||||
26: 6(int) Load 25
|
||||
Store 24(sy) 26
|
||||
30: 27 Load 29(accNV)
|
||||
31: 6(int) Load 8(lx)
|
||||
32: 6(int) Load 16(ly)
|
||||
33: 6(int) Load 20(sx)
|
||||
34: 6(int) Load 24(sy)
|
||||
TraceNVX 30 31 32 33 34 12 38 39 41 42 44
|
||||
54: 53(ptr) AccessChain 50 51 52
|
||||
Store 54 40
|
||||
57: 47(fvec4) Load 56(payload)
|
||||
59: 58(ptr) AccessChain 50 44
|
||||
Store 59 57
|
||||
Return
|
||||
FunctionEnd
|
||||
39
Test/baseResults/spv.RayGenShader_Errors.rgen.out
Normal file
39
Test/baseResults/spv.RayGenShader_Errors.rgen.out
Normal file
@@ -0,0 +1,39 @@
|
||||
spv.RayGenShader_Errors.rgen
|
||||
ERROR: 0:3: 'hitAttributeNVX' : not supported in this stage: ray-generation
|
||||
ERROR: 0:4: 'rayPayloadInNVX' : not supported in this stage: ray-generation
|
||||
ERROR: 0:5: 'shaderRecordNVX' : can only be used with a buffer
|
||||
ERROR: 0:9: 'binding' : cannot be used with shaderRecordNVX
|
||||
ERROR: 0:12: 'set' : cannot be used with shaderRecordNVX
|
||||
ERROR: 0:23: 'accelerationStructureNVX' : accelerationStructureNVX can only be used in uniform variables or function parameters: a
|
||||
ERROR: 0:23: '=' : cannot convert from ' const int' to ' temp accelerationStructureNVX'
|
||||
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_InstanceCustomIndexNVX' : undeclared identifier
|
||||
ERROR: 0:26: '=' : cannot convert from ' temp float' to ' temp highp int'
|
||||
ERROR: 0:27: 'gl_WorldRayOriginNVX' : undeclared identifier
|
||||
ERROR: 0:27: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
|
||||
ERROR: 0:28: 'gl_WorldRayDirectionNVX' : undeclared identifier
|
||||
ERROR: 0:28: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
|
||||
ERROR: 0:29: 'gl_ObjectRayOriginNVX' : undeclared identifier
|
||||
ERROR: 0:29: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
|
||||
ERROR: 0:30: 'gl_ObjectRayDirectionNVX' : undeclared identifier
|
||||
ERROR: 0:30: '=' : cannot convert from ' temp float' to ' temp highp 3-component vector of float'
|
||||
ERROR: 0:31: 'gl_RayTminNVX' : undeclared identifier
|
||||
ERROR: 0:32: 'gl_RayTmaxNVX' : undeclared identifier
|
||||
ERROR: 0:33: 'gl_ObjectToWorldNVX' : undeclared identifier
|
||||
ERROR: 0:33: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
|
||||
ERROR: 0:34: 'gl_WorldToObjectNVX' : undeclared identifier
|
||||
ERROR: 0:34: '=' : cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
|
||||
ERROR: 0:35: 'gl_HitTNVX' : undeclared identifier
|
||||
ERROR: 0:36: 'gl_HitKindNVX' : undeclared identifier
|
||||
ERROR: 0:37: 'reportIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:38: 'ignoreIntersectionNVX' : no matching overloaded function found
|
||||
ERROR: 0:39: 'terminateRayNVX' : no matching overloaded function found
|
||||
ERROR: 32 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: Linking ray-generation stage: Only one shaderRecordNVX buffer block is allowed per stage
|
||||
|
||||
SPIR-V is not generated for failed compile or link
|
||||
26
Test/spv.AnyHitShader.rahit
Normal file
26
Test/spv.AnyHitShader.rahit
Normal file
@@ -0,0 +1,26 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
|
||||
void main()
|
||||
{
|
||||
uvec2 v0 = gl_LaunchIDNVX;
|
||||
uvec2 v1 = gl_LaunchSizeNVX;
|
||||
int v2 = gl_PrimitiveID;
|
||||
int v3 = gl_InstanceID;
|
||||
int v4 = gl_InstanceCustomIndexNVX;
|
||||
vec3 v5 = gl_WorldRayOriginNVX;
|
||||
vec3 v6 = gl_WorldRayDirectionNVX;
|
||||
vec3 v7 = gl_ObjectRayOriginNVX;
|
||||
vec3 v8 = gl_ObjectRayDirectionNVX;
|
||||
float v9 = gl_RayTminNVX;
|
||||
float v10 = gl_RayTmaxNVX;
|
||||
float v11 = gl_HitTNVX;
|
||||
uint v12 = gl_HitKindNVX;
|
||||
mat4x3 v13 = gl_ObjectToWorldNVX;
|
||||
mat4x3 v14 = gl_WorldToObjectNVX;
|
||||
incomingPayload = vec4(0.5f);
|
||||
if (v2 == 1)
|
||||
ignoreIntersectionNVX();
|
||||
else
|
||||
terminateRayNVX();
|
||||
}
|
||||
11
Test/spv.AnyHitShader_Errors.rahit
Normal file
11
Test/spv.AnyHitShader_Errors.rahit
Normal file
@@ -0,0 +1,11 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
hitAttributeNVX vec4 payload;
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
|
||||
void main()
|
||||
{
|
||||
payload.x = 1.0f; // ERROR, cannot write to hitattributeNVX in stage
|
||||
reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage
|
||||
traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported builtin in stage
|
||||
}
|
||||
24
Test/spv.ClosestHitShader.rchit
Normal file
24
Test/spv.ClosestHitShader.rchit
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
layout(location = 0) rayPayloadNVX vec4 localPayload;
|
||||
layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
|
||||
void main()
|
||||
{
|
||||
uvec2 v0 = gl_LaunchIDNVX;
|
||||
uvec2 v1 = gl_LaunchSizeNVX;
|
||||
int v2 = gl_PrimitiveID;
|
||||
int v3 = gl_InstanceID;
|
||||
int v4 = gl_InstanceCustomIndexNVX;
|
||||
vec3 v5 = gl_WorldRayOriginNVX;
|
||||
vec3 v6 = gl_WorldRayDirectionNVX;
|
||||
vec3 v7 = gl_ObjectRayOriginNVX;
|
||||
vec3 v8 = gl_ObjectRayDirectionNVX;
|
||||
float v9 = gl_RayTminNVX;
|
||||
float v10 = gl_RayTmaxNVX;
|
||||
float v11 = gl_HitTNVX;
|
||||
uint v12 = gl_HitKindNVX;
|
||||
mat4x3 v13 = gl_ObjectToWorldNVX;
|
||||
mat4x3 v14 = gl_WorldToObjectNVX;
|
||||
traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
|
||||
}
|
||||
12
Test/spv.ClosestHitShader_Errors.rchit
Normal file
12
Test/spv.ClosestHitShader_Errors.rchit
Normal file
@@ -0,0 +1,12 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
hitAttributeNVX vec4 payload;
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
|
||||
void main()
|
||||
{
|
||||
payload.x = 1.0f; // ERROR, cannot write to hitattributeNVX in stage
|
||||
reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage
|
||||
terminateRayNVX();
|
||||
ignoreIntersectionNVX();
|
||||
}
|
||||
21
Test/spv.IntersectShader.rint
Normal file
21
Test/spv.IntersectShader.rint
Normal file
@@ -0,0 +1,21 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
hitAttributeNVX vec4 iAttr;
|
||||
void main()
|
||||
{
|
||||
uvec2 v0 = gl_LaunchIDNVX;
|
||||
uvec2 v1 = gl_LaunchSizeNVX;
|
||||
int v2 = gl_PrimitiveID;
|
||||
int v3 = gl_InstanceID;
|
||||
int v4 = gl_InstanceCustomIndexNVX;
|
||||
vec3 v5 = gl_WorldRayOriginNVX;
|
||||
vec3 v6 = gl_WorldRayDirectionNVX;
|
||||
vec3 v7 = gl_ObjectRayOriginNVX;
|
||||
vec3 v8 = gl_ObjectRayDirectionNVX;
|
||||
float v9 = gl_RayTminNVX;
|
||||
float v10 = gl_RayTmaxNVX;
|
||||
mat4x3 v11 = gl_ObjectToWorldNVX;
|
||||
mat4x3 v12 = gl_WorldToObjectNVX;
|
||||
iAttr = vec4(0.5f,0.5f,0.0f,1.0f);
|
||||
reportIntersectionNVX(0.5, 1U);
|
||||
}
|
||||
11
Test/spv.IntersectShader_Errors.rint
Normal file
11
Test/spv.IntersectShader_Errors.rint
Normal file
@@ -0,0 +1,11 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
rayPayloadInNVX vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage
|
||||
rayPayloadNVX vec4 payload; // ERROR, rayPayload unsuppoted in this stage
|
||||
uniform accelerationStructureNVX accNV;
|
||||
void main()
|
||||
{
|
||||
float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage
|
||||
float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage
|
||||
traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported
|
||||
}
|
||||
17
Test/spv.MissShader.rmiss
Normal file
17
Test/spv.MissShader.rmiss
Normal file
@@ -0,0 +1,17 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
layout(location = 0) rayPayloadNVX vec4 localPayload;
|
||||
layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
|
||||
void main()
|
||||
{
|
||||
uvec2 v0 = gl_LaunchIDNVX;
|
||||
uvec2 v1 = gl_LaunchSizeNVX;
|
||||
vec3 v2 = gl_WorldRayOriginNVX;
|
||||
vec3 v3 = gl_WorldRayDirectionNVX;
|
||||
vec3 v4 = gl_ObjectRayOriginNVX;
|
||||
vec3 v5 = gl_ObjectRayDirectionNVX;
|
||||
float v6 = gl_RayTminNVX;
|
||||
float v7 = gl_RayTmaxNVX;
|
||||
traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
|
||||
}
|
||||
16
Test/spv.MissShader_Errors.rmiss
Normal file
16
Test/spv.MissShader_Errors.rmiss
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
hitAttributeNVX vec4 payload; // ERROR, hitattributeNVX 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_InstanceCustomIndexNVX; // ERROR, unsupported builtin in stage
|
||||
mat4x3 e10 = gl_ObjectToWorldNVX; // ERROR, unsupported builtin in stage
|
||||
mat4x3 e11 = gl_WorldToObjectNVX; // ERROR, unsupported builtin in stage
|
||||
float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage
|
||||
float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage
|
||||
reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage
|
||||
ignoreIntersectionNVX(); // ERROR, unsupported builtin in stage
|
||||
terminateRayNVX(); // ERROR, unsupported builtin in stage
|
||||
}
|
||||
15
Test/spv.RayConstants.rgen
Normal file
15
Test/spv.RayConstants.rgen
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
layout(location = 0) rayPayloadNVX vec4 payload;
|
||||
void main()
|
||||
{
|
||||
const uint rayFlags = gl_RayFlagsNoneNVX | gl_RayFlagsOpaqueNVX |
|
||||
gl_RayFlagsNoOpaqueNVX | gl_RayFlagsTerminateOnFirstHitNVX |
|
||||
gl_RayFlagsSkipClosestHitShaderNVX | gl_RayFlagsCullBackFacingTrianglesNVX |
|
||||
gl_RayFlagsCullFrontFacingTrianglesNVX | gl_RayFlagsCullOpaqueNVX |
|
||||
gl_RayFlagsCullNoOpaqueNVX;
|
||||
|
||||
const int payloadId = 1;
|
||||
traceNVX(accNV, rayFlags, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, payloadId);
|
||||
}
|
||||
19
Test/spv.RayGenShader.rgen
Normal file
19
Test/spv.RayGenShader.rgen
Normal file
@@ -0,0 +1,19 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
|
||||
layout(location = 0) rayPayloadNVX vec4 payload;
|
||||
layout(shaderRecordNVX) buffer block
|
||||
{
|
||||
float arr[4];
|
||||
vec4 pad;
|
||||
};
|
||||
void main()
|
||||
{
|
||||
uint lx = gl_LaunchIDNVX.x;
|
||||
uint ly = gl_LaunchIDNVX.y;
|
||||
uint sx = gl_LaunchSizeNVX.x;
|
||||
uint sy = gl_LaunchSizeNVX.y;
|
||||
traceNVX(accNV, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1);
|
||||
arr[3] = 1.0f;
|
||||
pad = payload;
|
||||
}
|
||||
40
Test/spv.RayGenShader_Errors.rgen
Normal file
40
Test/spv.RayGenShader_Errors.rgen
Normal file
@@ -0,0 +1,40 @@
|
||||
#version 460
|
||||
#extension GL_NVX_raytracing : enable
|
||||
hitAttributeNVX vec4 payload; // ERROR, hitattributeNVX unsupported in this stage
|
||||
rayPayloadInNVX vec4 payloadIn; // ERROR, rayPayloadIn unsupported in this stage
|
||||
layout(shaderRecordNVX) uniform ublock // ERROR, shaderRecordNVX unsupported on uniform blocks
|
||||
{
|
||||
float a;
|
||||
};
|
||||
layout(binding = 0, shaderRecordNVX) buffer bblock { // ERROR, binding unsupported on shaderRecordNVX blocks
|
||||
float b;
|
||||
};
|
||||
layout(set = 0, shaderRecordNVX) buffer bblock2 { // ERROR, set unsupported on shaderRecordNVX blocks
|
||||
float c;
|
||||
};
|
||||
layout(shaderRecordNVX) buffer bblock3 {
|
||||
float d;
|
||||
};
|
||||
layout(shaderRecordNVX) buffer bblock4 { // ERROR, cannot have more than one shaderRecordNVX block
|
||||
float e;
|
||||
};
|
||||
void main()
|
||||
{
|
||||
accelerationStructureNVX a = 0;
|
||||
int e0 = gl_PrimitiveID; // ERROR, unsupported builtin in stage
|
||||
int e1 = gl_InstanceID; // ERROR, unsupported builtin in stage
|
||||
int e3 = gl_InstanceCustomIndexNVX; // ERROR, unsupported builtin in stage
|
||||
vec3 e4 = gl_WorldRayOriginNVX; // ERROR, unsupported builtin in stage
|
||||
vec3 e5 = gl_WorldRayDirectionNVX; // ERROR, unsupported builtin in stage
|
||||
vec3 e6 = gl_ObjectRayOriginNVX; // ERROR, unsupported builtin in stage
|
||||
vec3 e7 = gl_ObjectRayDirectionNVX; // ERROR, unsupported builtin in stage
|
||||
float e8 = gl_RayTminNVX; // ERROR, unsupported builtin in stage
|
||||
float e9 = gl_RayTmaxNVX; // ERROR, unsupported builtin in stage
|
||||
mat4x3 e10 = gl_ObjectToWorldNVX; // ERROR, unsupported builtin in stage
|
||||
mat4x3 e11 = gl_WorldToObjectNVX; // ERROR, unsupported builtin in stage
|
||||
float e12 = gl_HitTNVX; // ERROR, unsupported builtin in stage
|
||||
float e13 = gl_HitKindNVX; // ERROR, unsupported builtin in stage
|
||||
reportIntersectionNVX(1.0, 1U); // ERROR, unsupported builtin in stage
|
||||
ignoreIntersectionNVX(); // ERROR, unsupported builtin in stage
|
||||
terminateRayNVX(); // ERROR, unsupported builtin in stage
|
||||
}
|
||||
Reference in New Issue
Block a user