Add support for GL_NV_shader_invocation_reorder. (#3054)
This commit is contained in:
215
Test/baseResults/spv.nv.hitobject-allops.rchit.out
Normal file
215
Test/baseResults/spv.nv.hitobject-allops.rchit.out
Normal file
@@ -0,0 +1,215 @@
|
||||
spv.nv.hitobject-allops.rchit
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 116
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability ShaderInvocationReorderNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_shader_invocation_reorder"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint ClosestHitKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
SourceExtension "GL_NV_shader_invocation_reorder"
|
||||
Name 4 "main"
|
||||
Name 9 "attr"
|
||||
Name 12 "hBlock"
|
||||
MemberName 12(hBlock) 0 "attrval"
|
||||
Name 14 ""
|
||||
Name 22 "hObj"
|
||||
Name 25 "as"
|
||||
Name 36 "payload"
|
||||
Name 40 "pBlock"
|
||||
MemberName 40(pBlock) 0 "val1"
|
||||
MemberName 40(pBlock) 1 "val2"
|
||||
Name 42 ""
|
||||
Name 48 "hObjHit"
|
||||
Name 52 "hObjNop"
|
||||
Name 53 "hObjMiss"
|
||||
Name 62 "block"
|
||||
MemberName 62(block) 0 "op"
|
||||
Name 64 ""
|
||||
Name 79 "tmin"
|
||||
Name 81 "tmax"
|
||||
Name 84 "orig"
|
||||
Name 86 "dir"
|
||||
Name 88 "oorig"
|
||||
Name 90 "odir"
|
||||
Name 94 "otw"
|
||||
Name 96 "wto"
|
||||
Name 99 "cid"
|
||||
Name 101 "iid"
|
||||
Name 103 "pid"
|
||||
Name 105 "gid"
|
||||
Name 108 "hkind"
|
||||
Name 112 "handle"
|
||||
Name 114 "rid"
|
||||
Decorate 12(hBlock) Block
|
||||
Decorate 25(as) DescriptorSet 0
|
||||
Decorate 25(as) Binding 0
|
||||
Decorate 40(pBlock) Block
|
||||
MemberDecorate 62(block) 0 Offset 0
|
||||
Decorate 62(block) Block
|
||||
Decorate 64 DescriptorSet 0
|
||||
Decorate 64 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypePointer HitObjectAttributeNV 7(fvec2)
|
||||
9(attr): 8(ptr) Variable HitObjectAttributeNV
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec2) ConstantComposite 10 10
|
||||
12(hBlock): TypeStruct 6(float)
|
||||
13: TypePointer HitObjectAttributeNV 12(hBlock)
|
||||
14: 13(ptr) Variable HitObjectAttributeNV
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17: 6(float) Constant 1073741824
|
||||
18: TypePointer HitObjectAttributeNV 6(float)
|
||||
20: TypeHitObjectNV
|
||||
21: TypePointer Private 20
|
||||
22(hObj): 21(ptr) Variable Private
|
||||
23: TypeAccelerationStructureKHR
|
||||
24: TypePointer UniformConstant 23
|
||||
25(as): 24(ptr) Variable UniformConstant
|
||||
27: TypeInt 32 0
|
||||
28: 27(int) Constant 1
|
||||
29: TypeVector 6(float) 3
|
||||
30: 6(float) Constant 1056964608
|
||||
31: 29(fvec3) ConstantComposite 30 30 30
|
||||
32: 29(fvec3) ConstantComposite 10 10 10
|
||||
33: 15(int) Constant 1
|
||||
34: TypeVector 6(float) 4
|
||||
35: TypePointer RayPayloadKHR 34(fvec4)
|
||||
36(payload): 35(ptr) Variable RayPayloadKHR
|
||||
38: 6(float) Constant 1092616192
|
||||
39: 15(int) Constant 2
|
||||
40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
|
||||
41: TypePointer RayPayloadKHR 40(pBlock)
|
||||
42: 41(ptr) Variable RayPayloadKHR
|
||||
44: 27(int) Constant 2
|
||||
45: 29(fvec3) ConstantComposite 17 17 17
|
||||
47: 6(float) Constant 1082130432
|
||||
48(hObjHit): 21(ptr) Variable Private
|
||||
50: 15(int) Constant 3
|
||||
52(hObjNop): 21(ptr) Variable Private
|
||||
53(hObjMiss): 21(ptr) Variable Private
|
||||
54: 6(float) Constant 1069547520
|
||||
55: 29(fvec3) ConstantComposite 54 54 54
|
||||
56: 6(float) Constant 1084227584
|
||||
57: 6(float) Constant 1090519040
|
||||
58: TypeBool
|
||||
62(block): TypeStruct 6(float)
|
||||
63: TypePointer StorageBuffer 62(block)
|
||||
64: 63(ptr) Variable StorageBuffer
|
||||
65: TypePointer StorageBuffer 6(float)
|
||||
76: 6(float) Constant 1077936128
|
||||
78: TypePointer Function 6(float)
|
||||
83: TypePointer Function 29(fvec3)
|
||||
92: TypeMatrix 29(fvec3) 4
|
||||
93: TypePointer Function 92
|
||||
98: TypePointer Function 15(int)
|
||||
107: TypePointer Function 27(int)
|
||||
110: TypeVector 27(int) 2
|
||||
111: TypePointer Function 110(ivec2)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
79(tmin): 78(ptr) Variable Function
|
||||
81(tmax): 78(ptr) Variable Function
|
||||
84(orig): 83(ptr) Variable Function
|
||||
86(dir): 83(ptr) Variable Function
|
||||
88(oorig): 83(ptr) Variable Function
|
||||
90(odir): 83(ptr) Variable Function
|
||||
94(otw): 93(ptr) Variable Function
|
||||
96(wto): 93(ptr) Variable Function
|
||||
99(cid): 98(ptr) Variable Function
|
||||
101(iid): 98(ptr) Variable Function
|
||||
103(pid): 98(ptr) Variable Function
|
||||
105(gid): 98(ptr) Variable Function
|
||||
108(hkind): 107(ptr) Variable Function
|
||||
112(handle): 111(ptr) Variable Function
|
||||
114(rid): 107(ptr) Variable Function
|
||||
Store 9(attr) 11
|
||||
19: 18(ptr) AccessChain 14 16
|
||||
Store 19 17
|
||||
26: 23 Load 25(as)
|
||||
HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
|
||||
37: 23 Load 25(as)
|
||||
HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
|
||||
43: 23 Load 25(as)
|
||||
HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
|
||||
46: 23 Load 25(as)
|
||||
HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
|
||||
49: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
|
||||
51: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
|
||||
HitObjectRecordEmptyNV 52(hObjNop)
|
||||
HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
|
||||
HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
|
||||
HitObjectExecuteShaderNV 48(hObjHit) 42
|
||||
59: 58(bool) HitObjectIsHitNV 22(hObj)
|
||||
SelectionMerge 61 None
|
||||
BranchConditional 59 60 67
|
||||
60: Label
|
||||
66: 65(ptr) AccessChain 64 16
|
||||
Store 66 10
|
||||
Branch 61
|
||||
67: Label
|
||||
68: 58(bool) HitObjectIsMissNV 22(hObj)
|
||||
SelectionMerge 70 None
|
||||
BranchConditional 68 69 72
|
||||
69: Label
|
||||
71: 65(ptr) AccessChain 64 16
|
||||
Store 71 17
|
||||
Branch 70
|
||||
72: Label
|
||||
73: 58(bool) HitObjectIsEmptyNV 22(hObj)
|
||||
SelectionMerge 75 None
|
||||
BranchConditional 73 74 75
|
||||
74: Label
|
||||
77: 65(ptr) AccessChain 64 16
|
||||
Store 77 76
|
||||
Branch 75
|
||||
75: Label
|
||||
Branch 70
|
||||
70: Label
|
||||
Branch 61
|
||||
61: Label
|
||||
80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
|
||||
Store 79(tmin) 80
|
||||
82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
|
||||
Store 81(tmax) 82
|
||||
85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
|
||||
Store 84(orig) 85
|
||||
87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
|
||||
Store 86(dir) 87
|
||||
89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
|
||||
Store 88(oorig) 89
|
||||
91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
|
||||
Store 90(odir) 91
|
||||
95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
|
||||
Store 94(otw) 95
|
||||
97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
|
||||
Store 96(wto) 97
|
||||
100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
|
||||
Store 99(cid) 100
|
||||
102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
|
||||
Store 101(iid) 102
|
||||
104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
|
||||
Store 103(pid) 104
|
||||
106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
|
||||
Store 105(gid) 106
|
||||
109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
|
||||
Store 108(hkind) 109
|
||||
HitObjectGetAttributesNV 22(hObj) 9(attr)
|
||||
113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
|
||||
Store 112(handle) 113
|
||||
115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
|
||||
Store 114(rid) 115
|
||||
Return
|
||||
FunctionEnd
|
||||
219
Test/baseResults/spv.nv.hitobject-allops.rgen.out
Normal file
219
Test/baseResults/spv.nv.hitobject-allops.rgen.out
Normal file
@@ -0,0 +1,219 @@
|
||||
spv.nv.hitobject-allops.rgen
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 117
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability ShaderInvocationReorderNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_shader_invocation_reorder"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint RayGenerationKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
SourceExtension "GL_NV_shader_invocation_reorder"
|
||||
Name 4 "main"
|
||||
Name 9 "attr"
|
||||
Name 12 "hBlock"
|
||||
MemberName 12(hBlock) 0 "attrval"
|
||||
Name 14 ""
|
||||
Name 22 "hObj"
|
||||
Name 25 "as"
|
||||
Name 36 "payload"
|
||||
Name 40 "pBlock"
|
||||
MemberName 40(pBlock) 0 "val1"
|
||||
MemberName 40(pBlock) 1 "val2"
|
||||
Name 42 ""
|
||||
Name 48 "hObjHit"
|
||||
Name 52 "hObjNop"
|
||||
Name 53 "hObjMiss"
|
||||
Name 62 "block"
|
||||
MemberName 62(block) 0 "op"
|
||||
Name 64 ""
|
||||
Name 79 "tmin"
|
||||
Name 81 "tmax"
|
||||
Name 84 "orig"
|
||||
Name 86 "dir"
|
||||
Name 88 "oorig"
|
||||
Name 90 "odir"
|
||||
Name 94 "otw"
|
||||
Name 96 "wto"
|
||||
Name 99 "cid"
|
||||
Name 101 "iid"
|
||||
Name 103 "pid"
|
||||
Name 105 "gid"
|
||||
Name 108 "hkind"
|
||||
Name 112 "handle"
|
||||
Name 114 "rid"
|
||||
Decorate 12(hBlock) Block
|
||||
Decorate 25(as) DescriptorSet 0
|
||||
Decorate 25(as) Binding 0
|
||||
Decorate 40(pBlock) Block
|
||||
MemberDecorate 62(block) 0 Offset 0
|
||||
Decorate 62(block) Block
|
||||
Decorate 64 DescriptorSet 0
|
||||
Decorate 64 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypePointer HitObjectAttributeNV 7(fvec2)
|
||||
9(attr): 8(ptr) Variable HitObjectAttributeNV
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec2) ConstantComposite 10 10
|
||||
12(hBlock): TypeStruct 6(float)
|
||||
13: TypePointer HitObjectAttributeNV 12(hBlock)
|
||||
14: 13(ptr) Variable HitObjectAttributeNV
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17: 6(float) Constant 1073741824
|
||||
18: TypePointer HitObjectAttributeNV 6(float)
|
||||
20: TypeHitObjectNV
|
||||
21: TypePointer Private 20
|
||||
22(hObj): 21(ptr) Variable Private
|
||||
23: TypeAccelerationStructureKHR
|
||||
24: TypePointer UniformConstant 23
|
||||
25(as): 24(ptr) Variable UniformConstant
|
||||
27: TypeInt 32 0
|
||||
28: 27(int) Constant 1
|
||||
29: TypeVector 6(float) 3
|
||||
30: 6(float) Constant 1056964608
|
||||
31: 29(fvec3) ConstantComposite 30 30 30
|
||||
32: 29(fvec3) ConstantComposite 10 10 10
|
||||
33: 15(int) Constant 1
|
||||
34: TypeVector 6(float) 4
|
||||
35: TypePointer RayPayloadKHR 34(fvec4)
|
||||
36(payload): 35(ptr) Variable RayPayloadKHR
|
||||
38: 6(float) Constant 1092616192
|
||||
39: 15(int) Constant 2
|
||||
40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
|
||||
41: TypePointer RayPayloadKHR 40(pBlock)
|
||||
42: 41(ptr) Variable RayPayloadKHR
|
||||
44: 27(int) Constant 2
|
||||
45: 29(fvec3) ConstantComposite 17 17 17
|
||||
47: 6(float) Constant 1082130432
|
||||
48(hObjHit): 21(ptr) Variable Private
|
||||
50: 15(int) Constant 3
|
||||
52(hObjNop): 21(ptr) Variable Private
|
||||
53(hObjMiss): 21(ptr) Variable Private
|
||||
54: 6(float) Constant 1069547520
|
||||
55: 29(fvec3) ConstantComposite 54 54 54
|
||||
56: 6(float) Constant 1084227584
|
||||
57: 6(float) Constant 1090519040
|
||||
58: TypeBool
|
||||
62(block): TypeStruct 6(float)
|
||||
63: TypePointer StorageBuffer 62(block)
|
||||
64: 63(ptr) Variable StorageBuffer
|
||||
65: TypePointer StorageBuffer 6(float)
|
||||
76: 6(float) Constant 1077936128
|
||||
78: TypePointer Function 6(float)
|
||||
83: TypePointer Function 29(fvec3)
|
||||
92: TypeMatrix 29(fvec3) 4
|
||||
93: TypePointer Function 92
|
||||
98: TypePointer Function 15(int)
|
||||
107: TypePointer Function 27(int)
|
||||
110: TypeVector 27(int) 2
|
||||
111: TypePointer Function 110(ivec2)
|
||||
116: 27(int) Constant 4
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
79(tmin): 78(ptr) Variable Function
|
||||
81(tmax): 78(ptr) Variable Function
|
||||
84(orig): 83(ptr) Variable Function
|
||||
86(dir): 83(ptr) Variable Function
|
||||
88(oorig): 83(ptr) Variable Function
|
||||
90(odir): 83(ptr) Variable Function
|
||||
94(otw): 93(ptr) Variable Function
|
||||
96(wto): 93(ptr) Variable Function
|
||||
99(cid): 98(ptr) Variable Function
|
||||
101(iid): 98(ptr) Variable Function
|
||||
103(pid): 98(ptr) Variable Function
|
||||
105(gid): 98(ptr) Variable Function
|
||||
108(hkind): 107(ptr) Variable Function
|
||||
112(handle): 111(ptr) Variable Function
|
||||
114(rid): 107(ptr) Variable Function
|
||||
Store 9(attr) 11
|
||||
19: 18(ptr) AccessChain 14 16
|
||||
Store 19 17
|
||||
26: 23 Load 25(as)
|
||||
HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
|
||||
37: 23 Load 25(as)
|
||||
HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
|
||||
43: 23 Load 25(as)
|
||||
HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
|
||||
46: 23 Load 25(as)
|
||||
HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
|
||||
49: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
|
||||
51: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
|
||||
HitObjectRecordEmptyNV 52(hObjNop)
|
||||
HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
|
||||
HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
|
||||
HitObjectExecuteShaderNV 48(hObjHit) 36(payload)
|
||||
59: 58(bool) HitObjectIsHitNV 22(hObj)
|
||||
SelectionMerge 61 None
|
||||
BranchConditional 59 60 67
|
||||
60: Label
|
||||
66: 65(ptr) AccessChain 64 16
|
||||
Store 66 10
|
||||
Branch 61
|
||||
67: Label
|
||||
68: 58(bool) HitObjectIsMissNV 22(hObj)
|
||||
SelectionMerge 70 None
|
||||
BranchConditional 68 69 72
|
||||
69: Label
|
||||
71: 65(ptr) AccessChain 64 16
|
||||
Store 71 17
|
||||
Branch 70
|
||||
72: Label
|
||||
73: 58(bool) HitObjectIsEmptyNV 22(hObj)
|
||||
SelectionMerge 75 None
|
||||
BranchConditional 73 74 75
|
||||
74: Label
|
||||
77: 65(ptr) AccessChain 64 16
|
||||
Store 77 76
|
||||
Branch 75
|
||||
75: Label
|
||||
Branch 70
|
||||
70: Label
|
||||
Branch 61
|
||||
61: Label
|
||||
80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
|
||||
Store 79(tmin) 80
|
||||
82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
|
||||
Store 81(tmax) 82
|
||||
85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
|
||||
Store 84(orig) 85
|
||||
87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
|
||||
Store 86(dir) 87
|
||||
89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
|
||||
Store 88(oorig) 89
|
||||
91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
|
||||
Store 90(odir) 91
|
||||
95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
|
||||
Store 94(otw) 95
|
||||
97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
|
||||
Store 96(wto) 97
|
||||
100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
|
||||
Store 99(cid) 100
|
||||
102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
|
||||
Store 101(iid) 102
|
||||
104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
|
||||
Store 103(pid) 104
|
||||
106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
|
||||
Store 105(gid) 106
|
||||
109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
|
||||
Store 108(hkind) 109
|
||||
HitObjectGetAttributesNV 22(hObj) 9(attr)
|
||||
113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
|
||||
Store 112(handle) 113
|
||||
115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
|
||||
Store 114(rid) 115
|
||||
ReorderThreadWithHintNV 116 116
|
||||
ReorderThreadWithHitObjectNV 48(hObjHit)
|
||||
ReorderThreadWithHitObjectNV 48(hObjHit) 116 44
|
||||
Return
|
||||
FunctionEnd
|
||||
215
Test/baseResults/spv.nv.hitobject-allops.rmiss.out
Normal file
215
Test/baseResults/spv.nv.hitobject-allops.rmiss.out
Normal file
@@ -0,0 +1,215 @@
|
||||
spv.nv.hitobject-allops.rmiss
|
||||
// Module Version 10400
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 116
|
||||
|
||||
Capability RayTracingKHR
|
||||
Capability ShaderInvocationReorderNV
|
||||
Extension "SPV_KHR_ray_tracing"
|
||||
Extension "SPV_NV_shader_invocation_reorder"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MissKHR 4 "main" 9 14 22 25 36 42 48 52 53 64
|
||||
Source GLSL 460
|
||||
SourceExtension "GL_EXT_ray_tracing"
|
||||
SourceExtension "GL_NV_ray_tracing_motion_blur"
|
||||
SourceExtension "GL_NV_shader_invocation_reorder"
|
||||
Name 4 "main"
|
||||
Name 9 "attr"
|
||||
Name 12 "hBlock"
|
||||
MemberName 12(hBlock) 0 "attrval"
|
||||
Name 14 ""
|
||||
Name 22 "hObj"
|
||||
Name 25 "as"
|
||||
Name 36 "payload"
|
||||
Name 40 "pBlock"
|
||||
MemberName 40(pBlock) 0 "val1"
|
||||
MemberName 40(pBlock) 1 "val2"
|
||||
Name 42 ""
|
||||
Name 48 "hObjHit"
|
||||
Name 52 "hObjNop"
|
||||
Name 53 "hObjMiss"
|
||||
Name 62 "block"
|
||||
MemberName 62(block) 0 "op"
|
||||
Name 64 ""
|
||||
Name 79 "tmin"
|
||||
Name 81 "tmax"
|
||||
Name 84 "orig"
|
||||
Name 86 "dir"
|
||||
Name 88 "oorig"
|
||||
Name 90 "odir"
|
||||
Name 94 "otw"
|
||||
Name 96 "wto"
|
||||
Name 99 "cid"
|
||||
Name 101 "iid"
|
||||
Name 103 "pid"
|
||||
Name 105 "gid"
|
||||
Name 108 "hkind"
|
||||
Name 112 "handle"
|
||||
Name 114 "rid"
|
||||
Decorate 12(hBlock) Block
|
||||
Decorate 25(as) DescriptorSet 0
|
||||
Decorate 25(as) Binding 0
|
||||
Decorate 40(pBlock) Block
|
||||
MemberDecorate 62(block) 0 Offset 0
|
||||
Decorate 62(block) Block
|
||||
Decorate 64 DescriptorSet 0
|
||||
Decorate 64 Binding 1
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeVector 6(float) 2
|
||||
8: TypePointer HitObjectAttributeNV 7(fvec2)
|
||||
9(attr): 8(ptr) Variable HitObjectAttributeNV
|
||||
10: 6(float) Constant 1065353216
|
||||
11: 7(fvec2) ConstantComposite 10 10
|
||||
12(hBlock): TypeStruct 6(float)
|
||||
13: TypePointer HitObjectAttributeNV 12(hBlock)
|
||||
14: 13(ptr) Variable HitObjectAttributeNV
|
||||
15: TypeInt 32 1
|
||||
16: 15(int) Constant 0
|
||||
17: 6(float) Constant 1073741824
|
||||
18: TypePointer HitObjectAttributeNV 6(float)
|
||||
20: TypeHitObjectNV
|
||||
21: TypePointer Private 20
|
||||
22(hObj): 21(ptr) Variable Private
|
||||
23: TypeAccelerationStructureKHR
|
||||
24: TypePointer UniformConstant 23
|
||||
25(as): 24(ptr) Variable UniformConstant
|
||||
27: TypeInt 32 0
|
||||
28: 27(int) Constant 1
|
||||
29: TypeVector 6(float) 3
|
||||
30: 6(float) Constant 1056964608
|
||||
31: 29(fvec3) ConstantComposite 30 30 30
|
||||
32: 29(fvec3) ConstantComposite 10 10 10
|
||||
33: 15(int) Constant 1
|
||||
34: TypeVector 6(float) 4
|
||||
35: TypePointer RayPayloadKHR 34(fvec4)
|
||||
36(payload): 35(ptr) Variable RayPayloadKHR
|
||||
38: 6(float) Constant 1092616192
|
||||
39: 15(int) Constant 2
|
||||
40(pBlock): TypeStruct 7(fvec2) 7(fvec2)
|
||||
41: TypePointer RayPayloadKHR 40(pBlock)
|
||||
42: 41(ptr) Variable RayPayloadKHR
|
||||
44: 27(int) Constant 2
|
||||
45: 29(fvec3) ConstantComposite 17 17 17
|
||||
47: 6(float) Constant 1082130432
|
||||
48(hObjHit): 21(ptr) Variable Private
|
||||
50: 15(int) Constant 3
|
||||
52(hObjNop): 21(ptr) Variable Private
|
||||
53(hObjMiss): 21(ptr) Variable Private
|
||||
54: 6(float) Constant 1069547520
|
||||
55: 29(fvec3) ConstantComposite 54 54 54
|
||||
56: 6(float) Constant 1084227584
|
||||
57: 6(float) Constant 1090519040
|
||||
58: TypeBool
|
||||
62(block): TypeStruct 6(float)
|
||||
63: TypePointer StorageBuffer 62(block)
|
||||
64: 63(ptr) Variable StorageBuffer
|
||||
65: TypePointer StorageBuffer 6(float)
|
||||
76: 6(float) Constant 1077936128
|
||||
78: TypePointer Function 6(float)
|
||||
83: TypePointer Function 29(fvec3)
|
||||
92: TypeMatrix 29(fvec3) 4
|
||||
93: TypePointer Function 92
|
||||
98: TypePointer Function 15(int)
|
||||
107: TypePointer Function 27(int)
|
||||
110: TypeVector 27(int) 2
|
||||
111: TypePointer Function 110(ivec2)
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
79(tmin): 78(ptr) Variable Function
|
||||
81(tmax): 78(ptr) Variable Function
|
||||
84(orig): 83(ptr) Variable Function
|
||||
86(dir): 83(ptr) Variable Function
|
||||
88(oorig): 83(ptr) Variable Function
|
||||
90(odir): 83(ptr) Variable Function
|
||||
94(otw): 93(ptr) Variable Function
|
||||
96(wto): 93(ptr) Variable Function
|
||||
99(cid): 98(ptr) Variable Function
|
||||
101(iid): 98(ptr) Variable Function
|
||||
103(pid): 98(ptr) Variable Function
|
||||
105(gid): 98(ptr) Variable Function
|
||||
108(hkind): 107(ptr) Variable Function
|
||||
112(handle): 111(ptr) Variable Function
|
||||
114(rid): 107(ptr) Variable Function
|
||||
Store 9(attr) 11
|
||||
19: 18(ptr) AccessChain 14 16
|
||||
Store 19 17
|
||||
26: 23 Load 25(as)
|
||||
HitObjectTraceRayNV 22(hObj) 26 28 28 28 28 28 31 30 32 10 36(payload)
|
||||
37: 23 Load 25(as)
|
||||
HitObjectTraceRayMotionNV 22(hObj) 37 28 28 28 28 28 31 30 32 10 38 42
|
||||
43: 23 Load 25(as)
|
||||
HitObjectRecordHitNV 22(hObj) 43 33 33 33 44 44 44 32 10 45 17 9(attr)
|
||||
46: 23 Load 25(as)
|
||||
HitObjectRecordHitMotionNV 22(hObj) 46 33 33 33 44 44 44 32 10 45 17 47 9(attr)
|
||||
49: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexNV 48(hObjHit) 49 33 33 33 44 44 32 10 45 17 14
|
||||
51: 23 Load 25(as)
|
||||
HitObjectRecordHitWithIndexMotionNV 48(hObjHit) 51 33 33 33 44 44 32 10 45 17 47 14
|
||||
HitObjectRecordEmptyNV 52(hObjNop)
|
||||
HitObjectRecordMissNV 53(hObjMiss) 28 31 17 55 56
|
||||
HitObjectRecordMissMotionNV 53(hObjMiss) 28 31 17 55 56 57
|
||||
HitObjectExecuteShaderNV 48(hObjHit) 42
|
||||
59: 58(bool) HitObjectIsHitNV 22(hObj)
|
||||
SelectionMerge 61 None
|
||||
BranchConditional 59 60 67
|
||||
60: Label
|
||||
66: 65(ptr) AccessChain 64 16
|
||||
Store 66 10
|
||||
Branch 61
|
||||
67: Label
|
||||
68: 58(bool) HitObjectIsMissNV 22(hObj)
|
||||
SelectionMerge 70 None
|
||||
BranchConditional 68 69 72
|
||||
69: Label
|
||||
71: 65(ptr) AccessChain 64 16
|
||||
Store 71 17
|
||||
Branch 70
|
||||
72: Label
|
||||
73: 58(bool) HitObjectIsEmptyNV 22(hObj)
|
||||
SelectionMerge 75 None
|
||||
BranchConditional 73 74 75
|
||||
74: Label
|
||||
77: 65(ptr) AccessChain 64 16
|
||||
Store 77 76
|
||||
Branch 75
|
||||
75: Label
|
||||
Branch 70
|
||||
70: Label
|
||||
Branch 61
|
||||
61: Label
|
||||
80: 6(float) HitObjectGetRayTMinNV 48(hObjHit)
|
||||
Store 79(tmin) 80
|
||||
82: 6(float) HitObjectGetRayTMaxNV 48(hObjHit)
|
||||
Store 81(tmax) 82
|
||||
85: 29(fvec3) HitObjectGetWorldRayOriginNV 48(hObjHit)
|
||||
Store 84(orig) 85
|
||||
87: 29(fvec3) HitObjectGetWorldRayDirectionNV 48(hObjHit)
|
||||
Store 86(dir) 87
|
||||
89: 29(fvec3) HitObjectGetObjectRayOriginNV 48(hObjHit)
|
||||
Store 88(oorig) 89
|
||||
91: 29(fvec3) HitObjectGetObjectRayDirectionNV 48(hObjHit)
|
||||
Store 90(odir) 91
|
||||
95: 92 HitObjectGetObjectToWorldNV 48(hObjHit)
|
||||
Store 94(otw) 95
|
||||
97: 92 HitObjectGetWorldToObjectNV 48(hObjHit)
|
||||
Store 96(wto) 97
|
||||
100: 15(int) HitObjectGetInstanceCustomIndexNV 53(hObjMiss)
|
||||
Store 99(cid) 100
|
||||
102: 15(int) HitObjectGetInstanceIdNV 52(hObjNop)
|
||||
Store 101(iid) 102
|
||||
104: 15(int) HitObjectGetPrimitiveIndexNV 22(hObj)
|
||||
Store 103(pid) 104
|
||||
106: 15(int) HitObjectGetGeometryIndexNV 22(hObj)
|
||||
Store 105(gid) 106
|
||||
109: 27(int) HitObjectGetFrontFaceNV 22(hObj)
|
||||
Store 108(hkind) 109
|
||||
HitObjectGetAttributesNV 22(hObj) 9(attr)
|
||||
113: 110(ivec2) HitObjectGetShaderRecordBufferHandleNV 22(hObj)
|
||||
Store 112(handle) 113
|
||||
115: 27(int) HitObjectGetShaderBindingTableRecordIndexNV 22(hObj)
|
||||
Store 114(rid) 115
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user