pass-by-reference updates
This commit is contained in:
parent
2df8c71258
commit
7d37a68ad7
@ -1183,7 +1183,7 @@ spv::LoopControlMask TGlslangToSpvTraverser::TranslateLoopControl(const glslang:
|
|||||||
spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::TType& type)
|
spv::StorageClass TGlslangToSpvTraverser::TranslateStorageClass(const glslang::TType& type)
|
||||||
{
|
{
|
||||||
if (type.getBasicType() == glslang::EbtRayQuery)
|
if (type.getBasicType() == glslang::EbtRayQuery)
|
||||||
return spv::StorageClassFunction;
|
return spv::StorageClassWorkgroup;
|
||||||
if (type.getQualifier().isPipeInput())
|
if (type.getQualifier().isPipeInput())
|
||||||
return spv::StorageClassInput;
|
return spv::StorageClassInput;
|
||||||
if (type.getQualifier().isPipeOutput())
|
if (type.getQualifier().isPipeOutput())
|
||||||
@ -2197,7 +2197,15 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||||||
if (node->getOp() == glslang::EOpAtomicCounterIncrement ||
|
if (node->getOp() == glslang::EOpAtomicCounterIncrement ||
|
||||||
node->getOp() == glslang::EOpAtomicCounterDecrement ||
|
node->getOp() == glslang::EOpAtomicCounterDecrement ||
|
||||||
node->getOp() == glslang::EOpAtomicCounter ||
|
node->getOp() == glslang::EOpAtomicCounter ||
|
||||||
node->getOp() == glslang::EOpInterpolateAtCentroid) {
|
node->getOp() == glslang::EOpInterpolateAtCentroid ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryProceed ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryGetRayTMin ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryGetRayFlags ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryGetWorldRayOrigin ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryGetWorldRayDirection ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryGetIntersectionCandidateAABBOpaque ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryTerminate ||
|
||||||
|
node->getOp() == glslang::EOpRayQueryConfirmIntersection) {
|
||||||
operand = builder.accessChainGetLValue(); // Special case l-value operands
|
operand = builder.accessChainGetLValue(); // Special case l-value operands
|
||||||
lvalueCoherentFlags = builder.getAccessChain().coherentFlags;
|
lvalueCoherentFlags = builder.getAccessChain().coherentFlags;
|
||||||
lvalueCoherentFlags |= TranslateCoherent(operandNode->getAsTyped()->getType());
|
lvalueCoherentFlags |= TranslateCoherent(operandNode->getAsTyped()->getType());
|
||||||
@ -2296,7 +2304,6 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||||||
case glslang::EOpRayQueryConfirmIntersection:
|
case glslang::EOpRayQueryConfirmIntersection:
|
||||||
builder.createNoResultOp(spv::OpRayQueryConfirmIntersectionKHR, operand);
|
builder.createNoResultOp(spv::OpRayQueryConfirmIntersectionKHR, operand);
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -2720,6 +2727,8 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||||||
case glslang::EOpRayQueryConfirmIntersection:
|
case glslang::EOpRayQueryConfirmIntersection:
|
||||||
builder.addExtension("SPV_KHR_ray_query");
|
builder.addExtension("SPV_KHR_ray_query");
|
||||||
builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
|
builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
|
||||||
|
builder.addExtension("SPV_KHR_variable_pointers");
|
||||||
|
builder.addCapability(spv::CapabilityVariablePointers);
|
||||||
noReturnValue = true;
|
noReturnValue = true;
|
||||||
break;
|
break;
|
||||||
case glslang::EOpRayQueryProceed:
|
case glslang::EOpRayQueryProceed:
|
||||||
@ -2743,6 +2752,8 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||||||
case glslang::EOpRayQueryGetIntersectionWorldToObject:
|
case glslang::EOpRayQueryGetIntersectionWorldToObject:
|
||||||
builder.addExtension("SPV_KHR_ray_query");
|
builder.addExtension("SPV_KHR_ray_query");
|
||||||
builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
|
builder.addCapability(spv::CapabilityRayQueryProvisionalKHR);
|
||||||
|
builder.addExtension("SPV_KHR_variable_pointers");
|
||||||
|
builder.addCapability(spv::CapabilityVariablePointers);
|
||||||
break;
|
break;
|
||||||
case glslang::EOpCooperativeMatrixLoad:
|
case glslang::EOpCooperativeMatrixLoad:
|
||||||
case glslang::EOpCooperativeMatrixStore:
|
case glslang::EOpCooperativeMatrixStore:
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-allOps.comp
|
rayQuery-allOps.comp
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 266
|
// Id's are bound by 257
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint GLCompute 4 "main"
|
EntryPoint GLCompute 4 "main"
|
||||||
@ -29,21 +31,21 @@ rayQuery-allOps.comp
|
|||||||
Name 43 "ray"
|
Name 43 "ray"
|
||||||
Name 47 "rayQuery"
|
Name 47 "rayQuery"
|
||||||
Name 50 "rtas"
|
Name 50 "rtas"
|
||||||
Name 70 "candidateType"
|
Name 69 "candidateType"
|
||||||
Name 80 "_mat4x3"
|
Name 78 "_mat4x3"
|
||||||
Name 85 "_mat3x4"
|
Name 83 "_mat3x4"
|
||||||
Name 147 "t"
|
Name 143 "t"
|
||||||
Name 161 "committedStatus"
|
Name 156 "committedStatus"
|
||||||
Name 247 "o"
|
Name 240 "o"
|
||||||
Name 250 "d"
|
Name 242 "d"
|
||||||
Name 261 "Ray"
|
Name 252 "Ray"
|
||||||
MemberName 261(Ray) 0 "pos"
|
MemberName 252(Ray) 0 "pos"
|
||||||
MemberName 261(Ray) 1 "tmin"
|
MemberName 252(Ray) 1 "tmin"
|
||||||
MemberName 261(Ray) 2 "dir"
|
MemberName 252(Ray) 2 "dir"
|
||||||
MemberName 261(Ray) 3 "tmax"
|
MemberName 252(Ray) 3 "tmax"
|
||||||
Name 263 "Rays"
|
Name 254 "Rays"
|
||||||
MemberName 263(Rays) 0 "rays"
|
MemberName 254(Rays) 0 "rays"
|
||||||
Name 265 ""
|
Name 256 ""
|
||||||
MemberDecorate 15(Log) 0 Offset 0
|
MemberDecorate 15(Log) 0 Offset 0
|
||||||
MemberDecorate 15(Log) 1 Offset 4
|
MemberDecorate 15(Log) 1 Offset 4
|
||||||
Decorate 15(Log) BufferBlock
|
Decorate 15(Log) BufferBlock
|
||||||
@ -51,15 +53,15 @@ rayQuery-allOps.comp
|
|||||||
Decorate 17 Binding 0
|
Decorate 17 Binding 0
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
Decorate 50(rtas) Binding 1
|
Decorate 50(rtas) Binding 1
|
||||||
MemberDecorate 261(Ray) 0 Offset 0
|
MemberDecorate 252(Ray) 0 Offset 0
|
||||||
MemberDecorate 261(Ray) 1 Offset 12
|
MemberDecorate 252(Ray) 1 Offset 12
|
||||||
MemberDecorate 261(Ray) 2 Offset 16
|
MemberDecorate 252(Ray) 2 Offset 16
|
||||||
MemberDecorate 261(Ray) 3 Offset 28
|
MemberDecorate 252(Ray) 3 Offset 28
|
||||||
Decorate 262 ArrayStride 32
|
Decorate 253 ArrayStride 32
|
||||||
MemberDecorate 263(Rays) 0 Offset 0
|
MemberDecorate 254(Rays) 0 Offset 0
|
||||||
Decorate 263(Rays) BufferBlock
|
Decorate 254(Rays) BufferBlock
|
||||||
Decorate 265 DescriptorSet 0
|
Decorate 256 DescriptorSet 0
|
||||||
Decorate 265 Binding 2
|
Decorate 256 Binding 2
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
8: TypeFloat 32
|
8: TypeFloat 32
|
||||||
@ -86,40 +88,40 @@ rayQuery-allOps.comp
|
|||||||
37: 18(int) Constant 3
|
37: 18(int) Constant 3
|
||||||
38: 8(float) Constant 1176255488
|
38: 8(float) Constant 1176255488
|
||||||
45: TypeRayQueryProvisionalKHR
|
45: TypeRayQueryProvisionalKHR
|
||||||
46: TypePointer Function 45
|
46: TypePointer Workgroup 45
|
||||||
|
47(rayQuery): 46(ptr) Variable Workgroup
|
||||||
48: TypeAccelerationStructureKHR
|
48: TypeAccelerationStructureKHR
|
||||||
49: TypePointer UniformConstant 48
|
49: TypePointer UniformConstant 48
|
||||||
50(rtas): 49(ptr) Variable UniformConstant
|
50(rtas): 49(ptr) Variable UniformConstant
|
||||||
52: 14(int) Constant 255
|
52: 14(int) Constant 255
|
||||||
67: TypeBool
|
66: TypeBool
|
||||||
69: TypePointer Function 14(int)
|
68: TypePointer Function 14(int)
|
||||||
71: 67(bool) ConstantFalse
|
70: 66(bool) ConstantFalse
|
||||||
78: TypeMatrix 9(fvec3) 4
|
76: TypeMatrix 9(fvec3) 4
|
||||||
79: TypePointer Function 78
|
77: TypePointer Function 76
|
||||||
82: TypeVector 8(float) 4
|
80: TypeVector 8(float) 4
|
||||||
83: TypeMatrix 82(fvec4) 3
|
81: TypeMatrix 80(fvec4) 3
|
||||||
84: TypePointer Function 83
|
82: TypePointer Function 81
|
||||||
89: 67(bool) ConstantTrue
|
86: 66(bool) ConstantTrue
|
||||||
94: TypeVector 8(float) 2
|
91: TypeVector 8(float) 2
|
||||||
148: 8(float) Constant 1056964608
|
144: 8(float) Constant 1056964608
|
||||||
180: 14(int) Constant 1
|
175: 14(int) Constant 1
|
||||||
203: 14(int) Constant 2
|
198: 14(int) Constant 2
|
||||||
261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
252(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
||||||
262: TypeRuntimeArray 261(Ray)
|
253: TypeRuntimeArray 252(Ray)
|
||||||
263(Rays): TypeStruct 262
|
254(Rays): TypeStruct 253
|
||||||
264: TypePointer Uniform 263(Rays)
|
255: TypePointer Uniform 254(Rays)
|
||||||
265: 264(ptr) Variable Uniform
|
256: 255(ptr) Variable Uniform
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
43(ray): 25(ptr) Variable Function
|
43(ray): 25(ptr) Variable Function
|
||||||
47(rayQuery): 46(ptr) Variable Function
|
69(candidateType): 68(ptr) Variable Function
|
||||||
70(candidateType): 69(ptr) Variable Function
|
78(_mat4x3): 77(ptr) Variable Function
|
||||||
80(_mat4x3): 79(ptr) Variable Function
|
83(_mat3x4): 82(ptr) Variable Function
|
||||||
85(_mat3x4): 84(ptr) Variable Function
|
143(t): 35(ptr) Variable Function
|
||||||
147(t): 35(ptr) Variable Function
|
156(committedStatus): 68(ptr) Variable Function
|
||||||
161(committedStatus): 69(ptr) Variable Function
|
240(o): 29(ptr) Variable Function
|
||||||
247(o): 29(ptr) Variable Function
|
242(d): 29(ptr) Variable Function
|
||||||
250(d): 29(ptr) Variable Function
|
|
||||||
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
||||||
Store 43(ray) 44
|
Store 43(ray) 44
|
||||||
51: 48 Load 50(rtas)
|
51: 48 Load 50(rtas)
|
||||||
@ -137,283 +139,274 @@ rayQuery-allOps.comp
|
|||||||
LoopMerge 63 64 None
|
LoopMerge 63 64 None
|
||||||
Branch 65
|
Branch 65
|
||||||
65: Label
|
65: Label
|
||||||
66: 45 Load 47(rayQuery)
|
67: 66(bool) RayQueryProceedKHR 47(rayQuery)
|
||||||
68: 67(bool) RayQueryProceedKHR 66
|
BranchConditional 67 62 63
|
||||||
BranchConditional 68 62 63
|
|
||||||
62: Label
|
62: Label
|
||||||
72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
71: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
||||||
Store 70(candidateType) 72
|
Store 69(candidateType) 71
|
||||||
73: 14(int) Load 70(candidateType)
|
72: 14(int) Load 69(candidateType)
|
||||||
SelectionMerge 76 None
|
SelectionMerge 75 None
|
||||||
Switch 73 76
|
Switch 72 75
|
||||||
case 0: 74
|
case 0: 73
|
||||||
case 1: 75
|
case 1: 74
|
||||||
|
73: Label
|
||||||
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
|
79: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
|
Store 78(_mat4x3) 79
|
||||||
|
84: 76 Load 78(_mat4x3)
|
||||||
|
85: 81 Transpose 84
|
||||||
|
Store 83(_mat3x4) 85
|
||||||
|
RayQueryConfirmIntersectionKHR 47(rayQuery)
|
||||||
|
87: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
|
SelectionMerge 89 None
|
||||||
|
BranchConditional 87 88 89
|
||||||
|
88: Label
|
||||||
|
90: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 89
|
||||||
|
89: Label
|
||||||
|
92: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
|
93: 8(float) CompositeExtract 92 0
|
||||||
|
94: 66(bool) FOrdEqual 93 27
|
||||||
|
SelectionMerge 96 None
|
||||||
|
BranchConditional 94 95 96
|
||||||
|
95: Label
|
||||||
|
97: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 96
|
||||||
|
96: Label
|
||||||
|
98: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
|
99: 66(bool) SGreaterThan 98 19
|
||||||
|
SelectionMerge 101 None
|
||||||
|
BranchConditional 99 100 101
|
||||||
|
100: Label
|
||||||
|
102: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 101
|
||||||
|
101: Label
|
||||||
|
103: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
104: 66(bool) SGreaterThan 103 19
|
||||||
|
SelectionMerge 106 None
|
||||||
|
BranchConditional 104 105 106
|
||||||
|
105: Label
|
||||||
|
107: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 106
|
||||||
|
106: Label
|
||||||
|
108: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
|
109: 8(float) CompositeExtract 108 0
|
||||||
|
110: 66(bool) FOrdGreaterThan 109 27
|
||||||
|
SelectionMerge 112 None
|
||||||
|
BranchConditional 110 111 112
|
||||||
|
111: Label
|
||||||
|
113: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 112
|
||||||
|
112: Label
|
||||||
|
114: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
|
115: 8(float) CompositeExtract 114 0
|
||||||
|
116: 66(bool) FOrdGreaterThan 115 27
|
||||||
|
SelectionMerge 118 None
|
||||||
|
BranchConditional 116 117 118
|
||||||
|
117: Label
|
||||||
|
119: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 118
|
||||||
|
118: Label
|
||||||
|
120: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
|
121: 66(bool) SGreaterThan 120 19
|
||||||
|
SelectionMerge 123 None
|
||||||
|
BranchConditional 121 122 123
|
||||||
|
122: Label
|
||||||
|
124: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 123
|
||||||
|
123: Label
|
||||||
|
125: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
|
126: 66(bool) FOrdGreaterThan 125 27
|
||||||
|
SelectionMerge 128 None
|
||||||
|
BranchConditional 126 127 128
|
||||||
|
127: Label
|
||||||
|
129: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 128
|
||||||
|
128: Label
|
||||||
|
130: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
||||||
|
131: 66(bool) UGreaterThan 130 20
|
||||||
|
SelectionMerge 133 None
|
||||||
|
BranchConditional 131 132 133
|
||||||
|
132: Label
|
||||||
|
134: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 133
|
||||||
|
133: Label
|
||||||
|
Branch 75
|
||||||
74: Label
|
74: Label
|
||||||
77: 45 Load 47(rayQuery)
|
136: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
RayQueryTerminateKHR 77
|
Store 78(_mat4x3) 136
|
||||||
81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
137: 76 Load 78(_mat4x3)
|
||||||
Store 80(_mat4x3) 81
|
138: 81 Transpose 137
|
||||||
86: 78 Load 80(_mat4x3)
|
Store 83(_mat3x4) 138
|
||||||
87: 83 Transpose 86
|
139: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery)
|
||||||
Store 85(_mat3x4) 87
|
SelectionMerge 141 None
|
||||||
88: 45 Load 47(rayQuery)
|
BranchConditional 139 140 141
|
||||||
RayQueryConfirmIntersectionKHR 88
|
140: Label
|
||||||
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
142: 2 FunctionCall 6(doSomething()
|
||||||
SelectionMerge 92 None
|
Branch 141
|
||||||
BranchConditional 90 91 92
|
141: Label
|
||||||
91: Label
|
Store 143(t) 144
|
||||||
93: 2 FunctionCall 6(doSomething()
|
145: 8(float) Load 143(t)
|
||||||
Branch 92
|
RayQueryGenerateIntersectionKHR 47(rayQuery) 145
|
||||||
92: Label
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
Branch 75
|
||||||
96: 8(float) CompositeExtract 95 0
|
75: Label
|
||||||
97: 67(bool) FOrdEqual 96 27
|
|
||||||
SelectionMerge 99 None
|
|
||||||
BranchConditional 97 98 99
|
|
||||||
98: Label
|
|
||||||
100: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 99
|
|
||||||
99: Label
|
|
||||||
101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
|
||||||
102: 67(bool) SGreaterThan 101 19
|
|
||||||
SelectionMerge 104 None
|
|
||||||
BranchConditional 102 103 104
|
|
||||||
103: Label
|
|
||||||
105: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 104
|
|
||||||
104: Label
|
|
||||||
106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
|
||||||
107: 67(bool) SGreaterThan 106 19
|
|
||||||
SelectionMerge 109 None
|
|
||||||
BranchConditional 107 108 109
|
|
||||||
108: Label
|
|
||||||
110: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 109
|
|
||||||
109: Label
|
|
||||||
111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
|
||||||
112: 8(float) CompositeExtract 111 0
|
|
||||||
113: 67(bool) FOrdGreaterThan 112 27
|
|
||||||
SelectionMerge 115 None
|
|
||||||
BranchConditional 113 114 115
|
|
||||||
114: Label
|
|
||||||
116: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 115
|
|
||||||
115: Label
|
|
||||||
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
|
||||||
118: 8(float) CompositeExtract 117 0
|
|
||||||
119: 67(bool) FOrdGreaterThan 118 27
|
|
||||||
SelectionMerge 121 None
|
|
||||||
BranchConditional 119 120 121
|
|
||||||
120: Label
|
|
||||||
122: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 121
|
|
||||||
121: Label
|
|
||||||
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
|
||||||
124: 67(bool) SGreaterThan 123 19
|
|
||||||
SelectionMerge 126 None
|
|
||||||
BranchConditional 124 125 126
|
|
||||||
125: Label
|
|
||||||
127: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 126
|
|
||||||
126: Label
|
|
||||||
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
|
||||||
129: 67(bool) FOrdGreaterThan 128 27
|
|
||||||
SelectionMerge 131 None
|
|
||||||
BranchConditional 129 130 131
|
|
||||||
130: Label
|
|
||||||
132: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 131
|
|
||||||
131: Label
|
|
||||||
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
|
||||||
134: 67(bool) UGreaterThan 133 20
|
|
||||||
SelectionMerge 136 None
|
|
||||||
BranchConditional 134 135 136
|
|
||||||
135: Label
|
|
||||||
137: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 136
|
|
||||||
136: Label
|
|
||||||
Branch 76
|
|
||||||
75: Label
|
|
||||||
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
|
||||||
Store 80(_mat4x3) 139
|
|
||||||
140: 78 Load 80(_mat4x3)
|
|
||||||
141: 83 Transpose 140
|
|
||||||
Store 85(_mat3x4) 141
|
|
||||||
142: 45 Load 47(rayQuery)
|
|
||||||
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
|
|
||||||
SelectionMerge 145 None
|
|
||||||
BranchConditional 143 144 145
|
|
||||||
144: Label
|
|
||||||
146: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 145
|
|
||||||
145: Label
|
|
||||||
Store 147(t) 148
|
|
||||||
149: 8(float) Load 147(t)
|
|
||||||
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
|
|
||||||
150: 45 Load 47(rayQuery)
|
|
||||||
RayQueryTerminateKHR 150
|
|
||||||
Branch 76
|
|
||||||
76: Label
|
|
||||||
Branch 64
|
Branch 64
|
||||||
64: Label
|
64: Label
|
||||||
Branch 61
|
Branch 61
|
||||||
63: Label
|
63: Label
|
||||||
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
148: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
154: 8(float) Load 153
|
149: 8(float) Load 148
|
||||||
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
150: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
156: 8(float) Load 155
|
151: 8(float) Load 150
|
||||||
157: 67(bool) FOrdEqual 154 156
|
152: 66(bool) FOrdEqual 149 151
|
||||||
SelectionMerge 159 None
|
SelectionMerge 154 None
|
||||||
BranchConditional 157 158 159
|
BranchConditional 152 153 154
|
||||||
158: Label
|
153: Label
|
||||||
160: 2 FunctionCall 6(doSomething()
|
155: 2 FunctionCall 6(doSomething()
|
||||||
Branch 159
|
Branch 154
|
||||||
159: Label
|
154: Label
|
||||||
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
157: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
||||||
Store 161(committedStatus) 162
|
Store 156(committedStatus) 157
|
||||||
163: 14(int) Load 161(committedStatus)
|
158: 14(int) Load 156(committedStatus)
|
||||||
SelectionMerge 167 None
|
SelectionMerge 162 None
|
||||||
Switch 163 167
|
Switch 158 162
|
||||||
case 0: 164
|
case 0: 159
|
||||||
case 1: 165
|
case 1: 160
|
||||||
case 2: 166
|
case 2: 161
|
||||||
164: Label
|
159: Label
|
||||||
168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
163: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
||||||
Store 80(_mat4x3) 168
|
Store 78(_mat4x3) 163
|
||||||
169: 78 Load 80(_mat4x3)
|
164: 76 Load 78(_mat4x3)
|
||||||
170: 83 Transpose 169
|
165: 81 Transpose 164
|
||||||
Store 85(_mat3x4) 170
|
Store 83(_mat3x4) 165
|
||||||
Branch 167
|
Branch 162
|
||||||
165: Label
|
160: Label
|
||||||
172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
167: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
||||||
Store 80(_mat4x3) 172
|
Store 78(_mat4x3) 167
|
||||||
173: 78 Load 80(_mat4x3)
|
168: 76 Load 78(_mat4x3)
|
||||||
174: 83 Transpose 173
|
169: 81 Transpose 168
|
||||||
Store 85(_mat3x4) 174
|
Store 83(_mat3x4) 169
|
||||||
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
170: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
SelectionMerge 177 None
|
SelectionMerge 172 None
|
||||||
BranchConditional 175 176 177
|
BranchConditional 170 171 172
|
||||||
176: Label
|
171: Label
|
||||||
178: 2 FunctionCall 6(doSomething()
|
173: 2 FunctionCall 6(doSomething()
|
||||||
Branch 177
|
Branch 172
|
||||||
177: Label
|
172: Label
|
||||||
179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
174: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
181: 8(float) CompositeExtract 179 1
|
176: 8(float) CompositeExtract 174 1
|
||||||
182: 67(bool) FOrdEqual 181 27
|
177: 66(bool) FOrdEqual 176 27
|
||||||
SelectionMerge 184 None
|
SelectionMerge 179 None
|
||||||
BranchConditional 182 183 184
|
BranchConditional 177 178 179
|
||||||
183: Label
|
178: Label
|
||||||
185: 2 FunctionCall 6(doSomething()
|
180: 2 FunctionCall 6(doSomething()
|
||||||
Branch 184
|
Branch 179
|
||||||
184: Label
|
179: Label
|
||||||
Branch 167
|
Branch 162
|
||||||
166: Label
|
161: Label
|
||||||
187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
182: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
||||||
188: 67(bool) SGreaterThan 187 19
|
183: 66(bool) SGreaterThan 182 19
|
||||||
|
SelectionMerge 185 None
|
||||||
|
BranchConditional 183 184 185
|
||||||
|
184: Label
|
||||||
|
186: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 185
|
||||||
|
185: Label
|
||||||
|
187: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
188: 66(bool) SGreaterThan 187 19
|
||||||
SelectionMerge 190 None
|
SelectionMerge 190 None
|
||||||
BranchConditional 188 189 190
|
BranchConditional 188 189 190
|
||||||
189: Label
|
189: Label
|
||||||
191: 2 FunctionCall 6(doSomething()
|
191: 2 FunctionCall 6(doSomething()
|
||||||
Branch 190
|
Branch 190
|
||||||
190: Label
|
190: Label
|
||||||
192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
192: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
193: 67(bool) SGreaterThan 192 19
|
193: 66(bool) SGreaterThan 192 19
|
||||||
SelectionMerge 195 None
|
SelectionMerge 195 None
|
||||||
BranchConditional 193 194 195
|
BranchConditional 193 194 195
|
||||||
194: Label
|
194: Label
|
||||||
196: 2 FunctionCall 6(doSomething()
|
196: 2 FunctionCall 6(doSomething()
|
||||||
Branch 195
|
Branch 195
|
||||||
195: Label
|
195: Label
|
||||||
197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
197: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
198: 67(bool) SGreaterThan 197 19
|
199: 8(float) CompositeExtract 197 2
|
||||||
SelectionMerge 200 None
|
200: 66(bool) FOrdGreaterThan 199 27
|
||||||
BranchConditional 198 199 200
|
SelectionMerge 202 None
|
||||||
199: Label
|
BranchConditional 200 201 202
|
||||||
201: 2 FunctionCall 6(doSomething()
|
201: Label
|
||||||
Branch 200
|
203: 2 FunctionCall 6(doSomething()
|
||||||
200: Label
|
Branch 202
|
||||||
202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
202: Label
|
||||||
204: 8(float) CompositeExtract 202 2
|
204: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
205: 67(bool) FOrdGreaterThan 204 27
|
205: 8(float) CompositeExtract 204 0
|
||||||
SelectionMerge 207 None
|
206: 66(bool) FOrdGreaterThan 205 27
|
||||||
BranchConditional 205 206 207
|
SelectionMerge 208 None
|
||||||
206: Label
|
BranchConditional 206 207 208
|
||||||
208: 2 FunctionCall 6(doSomething()
|
207: Label
|
||||||
Branch 207
|
209: 2 FunctionCall 6(doSomething()
|
||||||
207: Label
|
Branch 208
|
||||||
209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
208: Label
|
||||||
210: 8(float) CompositeExtract 209 0
|
210: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
211: 67(bool) FOrdGreaterThan 210 27
|
211: 66(bool) SGreaterThan 210 19
|
||||||
SelectionMerge 213 None
|
SelectionMerge 213 None
|
||||||
BranchConditional 211 212 213
|
BranchConditional 211 212 213
|
||||||
212: Label
|
212: Label
|
||||||
214: 2 FunctionCall 6(doSomething()
|
214: 2 FunctionCall 6(doSomething()
|
||||||
Branch 213
|
Branch 213
|
||||||
213: Label
|
213: Label
|
||||||
215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
215: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
216: 67(bool) SGreaterThan 215 19
|
216: 66(bool) FOrdGreaterThan 215 27
|
||||||
SelectionMerge 218 None
|
SelectionMerge 218 None
|
||||||
BranchConditional 216 217 218
|
BranchConditional 216 217 218
|
||||||
217: Label
|
217: Label
|
||||||
219: 2 FunctionCall 6(doSomething()
|
219: 2 FunctionCall 6(doSomething()
|
||||||
Branch 218
|
Branch 218
|
||||||
218: Label
|
218: Label
|
||||||
220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
Branch 162
|
||||||
221: 67(bool) FOrdGreaterThan 220 27
|
162: Label
|
||||||
SelectionMerge 223 None
|
222: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
BranchConditional 221 222 223
|
223: 8(float) Load 222
|
||||||
222: Label
|
224: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
224: 2 FunctionCall 6(doSomething()
|
225: 8(float) Load 224
|
||||||
Branch 223
|
226: 66(bool) FOrdEqual 223 225
|
||||||
223: Label
|
SelectionMerge 228 None
|
||||||
Branch 167
|
BranchConditional 226 227 228
|
||||||
167: Label
|
227: Label
|
||||||
227: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
229: 2 FunctionCall 6(doSomething()
|
||||||
228: 8(float) Load 227
|
Branch 228
|
||||||
229: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
228: Label
|
||||||
230: 8(float) Load 229
|
230: 14(int) RayQueryGetRayFlagsKHR 47(rayQuery)
|
||||||
231: 67(bool) FOrdEqual 228 230
|
231: 66(bool) UGreaterThan 230 20
|
||||||
SelectionMerge 233 None
|
SelectionMerge 233 None
|
||||||
BranchConditional 231 232 233
|
BranchConditional 231 232 233
|
||||||
232: Label
|
232: Label
|
||||||
234: 2 FunctionCall 6(doSomething()
|
234: 2 FunctionCall 6(doSomething()
|
||||||
Branch 233
|
Branch 233
|
||||||
233: Label
|
233: Label
|
||||||
235: 45 Load 47(rayQuery)
|
235: 8(float) RayQueryGetRayTMinKHR 47(rayQuery)
|
||||||
236: 14(int) RayQueryGetRayFlagsKHR 235
|
236: 66(bool) FOrdGreaterThan 235 27
|
||||||
237: 67(bool) UGreaterThan 236 20
|
SelectionMerge 238 None
|
||||||
SelectionMerge 239 None
|
BranchConditional 236 237 238
|
||||||
BranchConditional 237 238 239
|
237: Label
|
||||||
238: Label
|
239: 2 FunctionCall 6(doSomething()
|
||||||
240: 2 FunctionCall 6(doSomething()
|
Branch 238
|
||||||
Branch 239
|
238: Label
|
||||||
239: Label
|
241: 9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
|
||||||
241: 45 Load 47(rayQuery)
|
Store 240(o) 241
|
||||||
242: 8(float) RayQueryGetRayTMinKHR 241
|
243: 9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
|
||||||
243: 67(bool) FOrdGreaterThan 242 27
|
Store 242(d) 243
|
||||||
SelectionMerge 245 None
|
244: 35(ptr) AccessChain 240(o) 20
|
||||||
BranchConditional 243 244 245
|
245: 8(float) Load 244
|
||||||
244: Label
|
246: 35(ptr) AccessChain 242(d) 198
|
||||||
246: 2 FunctionCall 6(doSomething()
|
247: 8(float) Load 246
|
||||||
Branch 245
|
248: 66(bool) FOrdEqual 245 247
|
||||||
245: Label
|
SelectionMerge 250 None
|
||||||
248: 45 Load 47(rayQuery)
|
BranchConditional 248 249 250
|
||||||
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
|
249: Label
|
||||||
Store 247(o) 249
|
251: 2 FunctionCall 6(doSomething()
|
||||||
251: 45 Load 47(rayQuery)
|
Branch 250
|
||||||
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
|
250: Label
|
||||||
Store 250(d) 252
|
|
||||||
253: 35(ptr) AccessChain 247(o) 20
|
|
||||||
254: 8(float) Load 253
|
|
||||||
255: 35(ptr) AccessChain 250(d) 203
|
|
||||||
256: 8(float) Load 255
|
|
||||||
257: 67(bool) FOrdEqual 254 256
|
|
||||||
SelectionMerge 259 None
|
|
||||||
BranchConditional 257 258 259
|
|
||||||
258: Label
|
|
||||||
260: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 259
|
|
||||||
259: Label
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
6(doSomething(): 2 Function None 3
|
6(doSomething(): 2 Function None 3
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-allOps.frag
|
rayQuery-allOps.frag
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 266
|
// Id's are bound by 257
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "main"
|
EntryPoint Fragment 4 "main"
|
||||||
@ -29,21 +31,21 @@ rayQuery-allOps.frag
|
|||||||
Name 43 "ray"
|
Name 43 "ray"
|
||||||
Name 47 "rayQuery"
|
Name 47 "rayQuery"
|
||||||
Name 50 "rtas"
|
Name 50 "rtas"
|
||||||
Name 70 "candidateType"
|
Name 69 "candidateType"
|
||||||
Name 80 "_mat4x3"
|
Name 78 "_mat4x3"
|
||||||
Name 85 "_mat3x4"
|
Name 83 "_mat3x4"
|
||||||
Name 147 "t"
|
Name 143 "t"
|
||||||
Name 161 "committedStatus"
|
Name 156 "committedStatus"
|
||||||
Name 247 "o"
|
Name 240 "o"
|
||||||
Name 250 "d"
|
Name 242 "d"
|
||||||
Name 261 "Ray"
|
Name 252 "Ray"
|
||||||
MemberName 261(Ray) 0 "pos"
|
MemberName 252(Ray) 0 "pos"
|
||||||
MemberName 261(Ray) 1 "tmin"
|
MemberName 252(Ray) 1 "tmin"
|
||||||
MemberName 261(Ray) 2 "dir"
|
MemberName 252(Ray) 2 "dir"
|
||||||
MemberName 261(Ray) 3 "tmax"
|
MemberName 252(Ray) 3 "tmax"
|
||||||
Name 263 "Rays"
|
Name 254 "Rays"
|
||||||
MemberName 263(Rays) 0 "rays"
|
MemberName 254(Rays) 0 "rays"
|
||||||
Name 265 ""
|
Name 256 ""
|
||||||
MemberDecorate 15(Log) 0 Offset 0
|
MemberDecorate 15(Log) 0 Offset 0
|
||||||
MemberDecorate 15(Log) 1 Offset 4
|
MemberDecorate 15(Log) 1 Offset 4
|
||||||
Decorate 15(Log) BufferBlock
|
Decorate 15(Log) BufferBlock
|
||||||
@ -51,15 +53,15 @@ rayQuery-allOps.frag
|
|||||||
Decorate 17 Binding 0
|
Decorate 17 Binding 0
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
Decorate 50(rtas) Binding 1
|
Decorate 50(rtas) Binding 1
|
||||||
MemberDecorate 261(Ray) 0 Offset 0
|
MemberDecorate 252(Ray) 0 Offset 0
|
||||||
MemberDecorate 261(Ray) 1 Offset 12
|
MemberDecorate 252(Ray) 1 Offset 12
|
||||||
MemberDecorate 261(Ray) 2 Offset 16
|
MemberDecorate 252(Ray) 2 Offset 16
|
||||||
MemberDecorate 261(Ray) 3 Offset 28
|
MemberDecorate 252(Ray) 3 Offset 28
|
||||||
Decorate 262 ArrayStride 32
|
Decorate 253 ArrayStride 32
|
||||||
MemberDecorate 263(Rays) 0 Offset 0
|
MemberDecorate 254(Rays) 0 Offset 0
|
||||||
Decorate 263(Rays) BufferBlock
|
Decorate 254(Rays) BufferBlock
|
||||||
Decorate 265 DescriptorSet 0
|
Decorate 256 DescriptorSet 0
|
||||||
Decorate 265 Binding 2
|
Decorate 256 Binding 2
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
8: TypeFloat 32
|
8: TypeFloat 32
|
||||||
@ -86,40 +88,40 @@ rayQuery-allOps.frag
|
|||||||
37: 18(int) Constant 3
|
37: 18(int) Constant 3
|
||||||
38: 8(float) Constant 1176255488
|
38: 8(float) Constant 1176255488
|
||||||
45: TypeRayQueryProvisionalKHR
|
45: TypeRayQueryProvisionalKHR
|
||||||
46: TypePointer Function 45
|
46: TypePointer Workgroup 45
|
||||||
|
47(rayQuery): 46(ptr) Variable Workgroup
|
||||||
48: TypeAccelerationStructureKHR
|
48: TypeAccelerationStructureKHR
|
||||||
49: TypePointer UniformConstant 48
|
49: TypePointer UniformConstant 48
|
||||||
50(rtas): 49(ptr) Variable UniformConstant
|
50(rtas): 49(ptr) Variable UniformConstant
|
||||||
52: 14(int) Constant 255
|
52: 14(int) Constant 255
|
||||||
67: TypeBool
|
66: TypeBool
|
||||||
69: TypePointer Function 14(int)
|
68: TypePointer Function 14(int)
|
||||||
71: 67(bool) ConstantFalse
|
70: 66(bool) ConstantFalse
|
||||||
78: TypeMatrix 9(fvec3) 4
|
76: TypeMatrix 9(fvec3) 4
|
||||||
79: TypePointer Function 78
|
77: TypePointer Function 76
|
||||||
82: TypeVector 8(float) 4
|
80: TypeVector 8(float) 4
|
||||||
83: TypeMatrix 82(fvec4) 3
|
81: TypeMatrix 80(fvec4) 3
|
||||||
84: TypePointer Function 83
|
82: TypePointer Function 81
|
||||||
89: 67(bool) ConstantTrue
|
86: 66(bool) ConstantTrue
|
||||||
94: TypeVector 8(float) 2
|
91: TypeVector 8(float) 2
|
||||||
148: 8(float) Constant 1056964608
|
144: 8(float) Constant 1056964608
|
||||||
180: 14(int) Constant 1
|
175: 14(int) Constant 1
|
||||||
203: 14(int) Constant 2
|
198: 14(int) Constant 2
|
||||||
261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
252(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
||||||
262: TypeRuntimeArray 261(Ray)
|
253: TypeRuntimeArray 252(Ray)
|
||||||
263(Rays): TypeStruct 262
|
254(Rays): TypeStruct 253
|
||||||
264: TypePointer Uniform 263(Rays)
|
255: TypePointer Uniform 254(Rays)
|
||||||
265: 264(ptr) Variable Uniform
|
256: 255(ptr) Variable Uniform
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
43(ray): 25(ptr) Variable Function
|
43(ray): 25(ptr) Variable Function
|
||||||
47(rayQuery): 46(ptr) Variable Function
|
69(candidateType): 68(ptr) Variable Function
|
||||||
70(candidateType): 69(ptr) Variable Function
|
78(_mat4x3): 77(ptr) Variable Function
|
||||||
80(_mat4x3): 79(ptr) Variable Function
|
83(_mat3x4): 82(ptr) Variable Function
|
||||||
85(_mat3x4): 84(ptr) Variable Function
|
143(t): 35(ptr) Variable Function
|
||||||
147(t): 35(ptr) Variable Function
|
156(committedStatus): 68(ptr) Variable Function
|
||||||
161(committedStatus): 69(ptr) Variable Function
|
240(o): 29(ptr) Variable Function
|
||||||
247(o): 29(ptr) Variable Function
|
242(d): 29(ptr) Variable Function
|
||||||
250(d): 29(ptr) Variable Function
|
|
||||||
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
||||||
Store 43(ray) 44
|
Store 43(ray) 44
|
||||||
51: 48 Load 50(rtas)
|
51: 48 Load 50(rtas)
|
||||||
@ -137,283 +139,274 @@ rayQuery-allOps.frag
|
|||||||
LoopMerge 63 64 None
|
LoopMerge 63 64 None
|
||||||
Branch 65
|
Branch 65
|
||||||
65: Label
|
65: Label
|
||||||
66: 45 Load 47(rayQuery)
|
67: 66(bool) RayQueryProceedKHR 47(rayQuery)
|
||||||
68: 67(bool) RayQueryProceedKHR 66
|
BranchConditional 67 62 63
|
||||||
BranchConditional 68 62 63
|
|
||||||
62: Label
|
62: Label
|
||||||
72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
71: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
||||||
Store 70(candidateType) 72
|
Store 69(candidateType) 71
|
||||||
73: 14(int) Load 70(candidateType)
|
72: 14(int) Load 69(candidateType)
|
||||||
SelectionMerge 76 None
|
SelectionMerge 75 None
|
||||||
Switch 73 76
|
Switch 72 75
|
||||||
case 0: 74
|
case 0: 73
|
||||||
case 1: 75
|
case 1: 74
|
||||||
|
73: Label
|
||||||
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
|
79: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
|
Store 78(_mat4x3) 79
|
||||||
|
84: 76 Load 78(_mat4x3)
|
||||||
|
85: 81 Transpose 84
|
||||||
|
Store 83(_mat3x4) 85
|
||||||
|
RayQueryConfirmIntersectionKHR 47(rayQuery)
|
||||||
|
87: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
|
SelectionMerge 89 None
|
||||||
|
BranchConditional 87 88 89
|
||||||
|
88: Label
|
||||||
|
90: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 89
|
||||||
|
89: Label
|
||||||
|
92: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
|
93: 8(float) CompositeExtract 92 0
|
||||||
|
94: 66(bool) FOrdEqual 93 27
|
||||||
|
SelectionMerge 96 None
|
||||||
|
BranchConditional 94 95 96
|
||||||
|
95: Label
|
||||||
|
97: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 96
|
||||||
|
96: Label
|
||||||
|
98: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
|
99: 66(bool) SGreaterThan 98 19
|
||||||
|
SelectionMerge 101 None
|
||||||
|
BranchConditional 99 100 101
|
||||||
|
100: Label
|
||||||
|
102: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 101
|
||||||
|
101: Label
|
||||||
|
103: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
104: 66(bool) SGreaterThan 103 19
|
||||||
|
SelectionMerge 106 None
|
||||||
|
BranchConditional 104 105 106
|
||||||
|
105: Label
|
||||||
|
107: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 106
|
||||||
|
106: Label
|
||||||
|
108: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
|
109: 8(float) CompositeExtract 108 0
|
||||||
|
110: 66(bool) FOrdGreaterThan 109 27
|
||||||
|
SelectionMerge 112 None
|
||||||
|
BranchConditional 110 111 112
|
||||||
|
111: Label
|
||||||
|
113: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 112
|
||||||
|
112: Label
|
||||||
|
114: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
|
115: 8(float) CompositeExtract 114 0
|
||||||
|
116: 66(bool) FOrdGreaterThan 115 27
|
||||||
|
SelectionMerge 118 None
|
||||||
|
BranchConditional 116 117 118
|
||||||
|
117: Label
|
||||||
|
119: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 118
|
||||||
|
118: Label
|
||||||
|
120: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
|
121: 66(bool) SGreaterThan 120 19
|
||||||
|
SelectionMerge 123 None
|
||||||
|
BranchConditional 121 122 123
|
||||||
|
122: Label
|
||||||
|
124: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 123
|
||||||
|
123: Label
|
||||||
|
125: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
|
126: 66(bool) FOrdGreaterThan 125 27
|
||||||
|
SelectionMerge 128 None
|
||||||
|
BranchConditional 126 127 128
|
||||||
|
127: Label
|
||||||
|
129: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 128
|
||||||
|
128: Label
|
||||||
|
130: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
||||||
|
131: 66(bool) UGreaterThan 130 20
|
||||||
|
SelectionMerge 133 None
|
||||||
|
BranchConditional 131 132 133
|
||||||
|
132: Label
|
||||||
|
134: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 133
|
||||||
|
133: Label
|
||||||
|
Branch 75
|
||||||
74: Label
|
74: Label
|
||||||
77: 45 Load 47(rayQuery)
|
136: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
RayQueryTerminateKHR 77
|
Store 78(_mat4x3) 136
|
||||||
81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
137: 76 Load 78(_mat4x3)
|
||||||
Store 80(_mat4x3) 81
|
138: 81 Transpose 137
|
||||||
86: 78 Load 80(_mat4x3)
|
Store 83(_mat3x4) 138
|
||||||
87: 83 Transpose 86
|
139: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery)
|
||||||
Store 85(_mat3x4) 87
|
SelectionMerge 141 None
|
||||||
88: 45 Load 47(rayQuery)
|
BranchConditional 139 140 141
|
||||||
RayQueryConfirmIntersectionKHR 88
|
140: Label
|
||||||
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
142: 2 FunctionCall 6(doSomething()
|
||||||
SelectionMerge 92 None
|
Branch 141
|
||||||
BranchConditional 90 91 92
|
141: Label
|
||||||
91: Label
|
Store 143(t) 144
|
||||||
93: 2 FunctionCall 6(doSomething()
|
145: 8(float) Load 143(t)
|
||||||
Branch 92
|
RayQueryGenerateIntersectionKHR 47(rayQuery) 145
|
||||||
92: Label
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
Branch 75
|
||||||
96: 8(float) CompositeExtract 95 0
|
75: Label
|
||||||
97: 67(bool) FOrdEqual 96 27
|
|
||||||
SelectionMerge 99 None
|
|
||||||
BranchConditional 97 98 99
|
|
||||||
98: Label
|
|
||||||
100: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 99
|
|
||||||
99: Label
|
|
||||||
101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
|
||||||
102: 67(bool) SGreaterThan 101 19
|
|
||||||
SelectionMerge 104 None
|
|
||||||
BranchConditional 102 103 104
|
|
||||||
103: Label
|
|
||||||
105: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 104
|
|
||||||
104: Label
|
|
||||||
106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
|
||||||
107: 67(bool) SGreaterThan 106 19
|
|
||||||
SelectionMerge 109 None
|
|
||||||
BranchConditional 107 108 109
|
|
||||||
108: Label
|
|
||||||
110: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 109
|
|
||||||
109: Label
|
|
||||||
111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
|
||||||
112: 8(float) CompositeExtract 111 0
|
|
||||||
113: 67(bool) FOrdGreaterThan 112 27
|
|
||||||
SelectionMerge 115 None
|
|
||||||
BranchConditional 113 114 115
|
|
||||||
114: Label
|
|
||||||
116: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 115
|
|
||||||
115: Label
|
|
||||||
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
|
||||||
118: 8(float) CompositeExtract 117 0
|
|
||||||
119: 67(bool) FOrdGreaterThan 118 27
|
|
||||||
SelectionMerge 121 None
|
|
||||||
BranchConditional 119 120 121
|
|
||||||
120: Label
|
|
||||||
122: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 121
|
|
||||||
121: Label
|
|
||||||
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
|
||||||
124: 67(bool) SGreaterThan 123 19
|
|
||||||
SelectionMerge 126 None
|
|
||||||
BranchConditional 124 125 126
|
|
||||||
125: Label
|
|
||||||
127: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 126
|
|
||||||
126: Label
|
|
||||||
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
|
||||||
129: 67(bool) FOrdGreaterThan 128 27
|
|
||||||
SelectionMerge 131 None
|
|
||||||
BranchConditional 129 130 131
|
|
||||||
130: Label
|
|
||||||
132: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 131
|
|
||||||
131: Label
|
|
||||||
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
|
||||||
134: 67(bool) UGreaterThan 133 20
|
|
||||||
SelectionMerge 136 None
|
|
||||||
BranchConditional 134 135 136
|
|
||||||
135: Label
|
|
||||||
137: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 136
|
|
||||||
136: Label
|
|
||||||
Branch 76
|
|
||||||
75: Label
|
|
||||||
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
|
||||||
Store 80(_mat4x3) 139
|
|
||||||
140: 78 Load 80(_mat4x3)
|
|
||||||
141: 83 Transpose 140
|
|
||||||
Store 85(_mat3x4) 141
|
|
||||||
142: 45 Load 47(rayQuery)
|
|
||||||
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
|
|
||||||
SelectionMerge 145 None
|
|
||||||
BranchConditional 143 144 145
|
|
||||||
144: Label
|
|
||||||
146: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 145
|
|
||||||
145: Label
|
|
||||||
Store 147(t) 148
|
|
||||||
149: 8(float) Load 147(t)
|
|
||||||
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
|
|
||||||
150: 45 Load 47(rayQuery)
|
|
||||||
RayQueryTerminateKHR 150
|
|
||||||
Branch 76
|
|
||||||
76: Label
|
|
||||||
Branch 64
|
Branch 64
|
||||||
64: Label
|
64: Label
|
||||||
Branch 61
|
Branch 61
|
||||||
63: Label
|
63: Label
|
||||||
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
148: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
154: 8(float) Load 153
|
149: 8(float) Load 148
|
||||||
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
150: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
156: 8(float) Load 155
|
151: 8(float) Load 150
|
||||||
157: 67(bool) FOrdEqual 154 156
|
152: 66(bool) FOrdEqual 149 151
|
||||||
SelectionMerge 159 None
|
SelectionMerge 154 None
|
||||||
BranchConditional 157 158 159
|
BranchConditional 152 153 154
|
||||||
158: Label
|
153: Label
|
||||||
160: 2 FunctionCall 6(doSomething()
|
155: 2 FunctionCall 6(doSomething()
|
||||||
Branch 159
|
Branch 154
|
||||||
159: Label
|
154: Label
|
||||||
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
157: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
||||||
Store 161(committedStatus) 162
|
Store 156(committedStatus) 157
|
||||||
163: 14(int) Load 161(committedStatus)
|
158: 14(int) Load 156(committedStatus)
|
||||||
SelectionMerge 167 None
|
SelectionMerge 162 None
|
||||||
Switch 163 167
|
Switch 158 162
|
||||||
case 0: 164
|
case 0: 159
|
||||||
case 1: 165
|
case 1: 160
|
||||||
case 2: 166
|
case 2: 161
|
||||||
164: Label
|
159: Label
|
||||||
168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
163: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
||||||
Store 80(_mat4x3) 168
|
Store 78(_mat4x3) 163
|
||||||
169: 78 Load 80(_mat4x3)
|
164: 76 Load 78(_mat4x3)
|
||||||
170: 83 Transpose 169
|
165: 81 Transpose 164
|
||||||
Store 85(_mat3x4) 170
|
Store 83(_mat3x4) 165
|
||||||
Branch 167
|
Branch 162
|
||||||
165: Label
|
160: Label
|
||||||
172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
167: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
||||||
Store 80(_mat4x3) 172
|
Store 78(_mat4x3) 167
|
||||||
173: 78 Load 80(_mat4x3)
|
168: 76 Load 78(_mat4x3)
|
||||||
174: 83 Transpose 173
|
169: 81 Transpose 168
|
||||||
Store 85(_mat3x4) 174
|
Store 83(_mat3x4) 169
|
||||||
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
170: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
SelectionMerge 177 None
|
SelectionMerge 172 None
|
||||||
BranchConditional 175 176 177
|
BranchConditional 170 171 172
|
||||||
176: Label
|
171: Label
|
||||||
178: 2 FunctionCall 6(doSomething()
|
173: 2 FunctionCall 6(doSomething()
|
||||||
Branch 177
|
Branch 172
|
||||||
177: Label
|
172: Label
|
||||||
179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
174: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
181: 8(float) CompositeExtract 179 1
|
176: 8(float) CompositeExtract 174 1
|
||||||
182: 67(bool) FOrdEqual 181 27
|
177: 66(bool) FOrdEqual 176 27
|
||||||
SelectionMerge 184 None
|
SelectionMerge 179 None
|
||||||
BranchConditional 182 183 184
|
BranchConditional 177 178 179
|
||||||
183: Label
|
178: Label
|
||||||
185: 2 FunctionCall 6(doSomething()
|
180: 2 FunctionCall 6(doSomething()
|
||||||
Branch 184
|
Branch 179
|
||||||
184: Label
|
179: Label
|
||||||
Branch 167
|
Branch 162
|
||||||
166: Label
|
161: Label
|
||||||
187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
182: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
||||||
188: 67(bool) SGreaterThan 187 19
|
183: 66(bool) SGreaterThan 182 19
|
||||||
|
SelectionMerge 185 None
|
||||||
|
BranchConditional 183 184 185
|
||||||
|
184: Label
|
||||||
|
186: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 185
|
||||||
|
185: Label
|
||||||
|
187: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
188: 66(bool) SGreaterThan 187 19
|
||||||
SelectionMerge 190 None
|
SelectionMerge 190 None
|
||||||
BranchConditional 188 189 190
|
BranchConditional 188 189 190
|
||||||
189: Label
|
189: Label
|
||||||
191: 2 FunctionCall 6(doSomething()
|
191: 2 FunctionCall 6(doSomething()
|
||||||
Branch 190
|
Branch 190
|
||||||
190: Label
|
190: Label
|
||||||
192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
192: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
193: 67(bool) SGreaterThan 192 19
|
193: 66(bool) SGreaterThan 192 19
|
||||||
SelectionMerge 195 None
|
SelectionMerge 195 None
|
||||||
BranchConditional 193 194 195
|
BranchConditional 193 194 195
|
||||||
194: Label
|
194: Label
|
||||||
196: 2 FunctionCall 6(doSomething()
|
196: 2 FunctionCall 6(doSomething()
|
||||||
Branch 195
|
Branch 195
|
||||||
195: Label
|
195: Label
|
||||||
197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
197: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
198: 67(bool) SGreaterThan 197 19
|
199: 8(float) CompositeExtract 197 2
|
||||||
SelectionMerge 200 None
|
200: 66(bool) FOrdGreaterThan 199 27
|
||||||
BranchConditional 198 199 200
|
SelectionMerge 202 None
|
||||||
199: Label
|
BranchConditional 200 201 202
|
||||||
201: 2 FunctionCall 6(doSomething()
|
201: Label
|
||||||
Branch 200
|
203: 2 FunctionCall 6(doSomething()
|
||||||
200: Label
|
Branch 202
|
||||||
202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
202: Label
|
||||||
204: 8(float) CompositeExtract 202 2
|
204: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
205: 67(bool) FOrdGreaterThan 204 27
|
205: 8(float) CompositeExtract 204 0
|
||||||
SelectionMerge 207 None
|
206: 66(bool) FOrdGreaterThan 205 27
|
||||||
BranchConditional 205 206 207
|
SelectionMerge 208 None
|
||||||
206: Label
|
BranchConditional 206 207 208
|
||||||
208: 2 FunctionCall 6(doSomething()
|
207: Label
|
||||||
Branch 207
|
209: 2 FunctionCall 6(doSomething()
|
||||||
207: Label
|
Branch 208
|
||||||
209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
208: Label
|
||||||
210: 8(float) CompositeExtract 209 0
|
210: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
211: 67(bool) FOrdGreaterThan 210 27
|
211: 66(bool) SGreaterThan 210 19
|
||||||
SelectionMerge 213 None
|
SelectionMerge 213 None
|
||||||
BranchConditional 211 212 213
|
BranchConditional 211 212 213
|
||||||
212: Label
|
212: Label
|
||||||
214: 2 FunctionCall 6(doSomething()
|
214: 2 FunctionCall 6(doSomething()
|
||||||
Branch 213
|
Branch 213
|
||||||
213: Label
|
213: Label
|
||||||
215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
215: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
216: 67(bool) SGreaterThan 215 19
|
216: 66(bool) FOrdGreaterThan 215 27
|
||||||
SelectionMerge 218 None
|
SelectionMerge 218 None
|
||||||
BranchConditional 216 217 218
|
BranchConditional 216 217 218
|
||||||
217: Label
|
217: Label
|
||||||
219: 2 FunctionCall 6(doSomething()
|
219: 2 FunctionCall 6(doSomething()
|
||||||
Branch 218
|
Branch 218
|
||||||
218: Label
|
218: Label
|
||||||
220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
Branch 162
|
||||||
221: 67(bool) FOrdGreaterThan 220 27
|
162: Label
|
||||||
SelectionMerge 223 None
|
222: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
BranchConditional 221 222 223
|
223: 8(float) Load 222
|
||||||
222: Label
|
224: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
224: 2 FunctionCall 6(doSomething()
|
225: 8(float) Load 224
|
||||||
Branch 223
|
226: 66(bool) FOrdEqual 223 225
|
||||||
223: Label
|
SelectionMerge 228 None
|
||||||
Branch 167
|
BranchConditional 226 227 228
|
||||||
167: Label
|
227: Label
|
||||||
227: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
229: 2 FunctionCall 6(doSomething()
|
||||||
228: 8(float) Load 227
|
Branch 228
|
||||||
229: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
228: Label
|
||||||
230: 8(float) Load 229
|
230: 14(int) RayQueryGetRayFlagsKHR 47(rayQuery)
|
||||||
231: 67(bool) FOrdEqual 228 230
|
231: 66(bool) UGreaterThan 230 20
|
||||||
SelectionMerge 233 None
|
SelectionMerge 233 None
|
||||||
BranchConditional 231 232 233
|
BranchConditional 231 232 233
|
||||||
232: Label
|
232: Label
|
||||||
234: 2 FunctionCall 6(doSomething()
|
234: 2 FunctionCall 6(doSomething()
|
||||||
Branch 233
|
Branch 233
|
||||||
233: Label
|
233: Label
|
||||||
235: 45 Load 47(rayQuery)
|
235: 8(float) RayQueryGetRayTMinKHR 47(rayQuery)
|
||||||
236: 14(int) RayQueryGetRayFlagsKHR 235
|
236: 66(bool) FOrdGreaterThan 235 27
|
||||||
237: 67(bool) UGreaterThan 236 20
|
SelectionMerge 238 None
|
||||||
SelectionMerge 239 None
|
BranchConditional 236 237 238
|
||||||
BranchConditional 237 238 239
|
237: Label
|
||||||
238: Label
|
239: 2 FunctionCall 6(doSomething()
|
||||||
240: 2 FunctionCall 6(doSomething()
|
Branch 238
|
||||||
Branch 239
|
238: Label
|
||||||
239: Label
|
241: 9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
|
||||||
241: 45 Load 47(rayQuery)
|
Store 240(o) 241
|
||||||
242: 8(float) RayQueryGetRayTMinKHR 241
|
243: 9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
|
||||||
243: 67(bool) FOrdGreaterThan 242 27
|
Store 242(d) 243
|
||||||
SelectionMerge 245 None
|
244: 35(ptr) AccessChain 240(o) 20
|
||||||
BranchConditional 243 244 245
|
245: 8(float) Load 244
|
||||||
244: Label
|
246: 35(ptr) AccessChain 242(d) 198
|
||||||
246: 2 FunctionCall 6(doSomething()
|
247: 8(float) Load 246
|
||||||
Branch 245
|
248: 66(bool) FOrdEqual 245 247
|
||||||
245: Label
|
SelectionMerge 250 None
|
||||||
248: 45 Load 47(rayQuery)
|
BranchConditional 248 249 250
|
||||||
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
|
249: Label
|
||||||
Store 247(o) 249
|
251: 2 FunctionCall 6(doSomething()
|
||||||
251: 45 Load 47(rayQuery)
|
Branch 250
|
||||||
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
|
250: Label
|
||||||
Store 250(d) 252
|
|
||||||
253: 35(ptr) AccessChain 247(o) 20
|
|
||||||
254: 8(float) Load 253
|
|
||||||
255: 35(ptr) AccessChain 250(d) 203
|
|
||||||
256: 8(float) Load 255
|
|
||||||
257: 67(bool) FOrdEqual 254 256
|
|
||||||
SelectionMerge 259 None
|
|
||||||
BranchConditional 257 258 259
|
|
||||||
258: Label
|
|
||||||
260: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 259
|
|
||||||
259: Label
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
6(doSomething(): 2 Function None 3
|
6(doSomething(): 2 Function None 3
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-allOps.rgen
|
rayQuery-allOps.rgen
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 266
|
// Id's are bound by 257
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -29,21 +31,21 @@ rayQuery-allOps.rgen
|
|||||||
Name 43 "ray"
|
Name 43 "ray"
|
||||||
Name 47 "rayQuery"
|
Name 47 "rayQuery"
|
||||||
Name 50 "rtas"
|
Name 50 "rtas"
|
||||||
Name 70 "candidateType"
|
Name 69 "candidateType"
|
||||||
Name 80 "_mat4x3"
|
Name 78 "_mat4x3"
|
||||||
Name 85 "_mat3x4"
|
Name 83 "_mat3x4"
|
||||||
Name 147 "t"
|
Name 143 "t"
|
||||||
Name 161 "committedStatus"
|
Name 156 "committedStatus"
|
||||||
Name 247 "o"
|
Name 240 "o"
|
||||||
Name 250 "d"
|
Name 242 "d"
|
||||||
Name 261 "Ray"
|
Name 252 "Ray"
|
||||||
MemberName 261(Ray) 0 "pos"
|
MemberName 252(Ray) 0 "pos"
|
||||||
MemberName 261(Ray) 1 "tmin"
|
MemberName 252(Ray) 1 "tmin"
|
||||||
MemberName 261(Ray) 2 "dir"
|
MemberName 252(Ray) 2 "dir"
|
||||||
MemberName 261(Ray) 3 "tmax"
|
MemberName 252(Ray) 3 "tmax"
|
||||||
Name 263 "Rays"
|
Name 254 "Rays"
|
||||||
MemberName 263(Rays) 0 "rays"
|
MemberName 254(Rays) 0 "rays"
|
||||||
Name 265 ""
|
Name 256 ""
|
||||||
MemberDecorate 15(Log) 0 Offset 0
|
MemberDecorate 15(Log) 0 Offset 0
|
||||||
MemberDecorate 15(Log) 1 Offset 4
|
MemberDecorate 15(Log) 1 Offset 4
|
||||||
Decorate 15(Log) BufferBlock
|
Decorate 15(Log) BufferBlock
|
||||||
@ -51,15 +53,15 @@ rayQuery-allOps.rgen
|
|||||||
Decorate 17 Binding 0
|
Decorate 17 Binding 0
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
Decorate 50(rtas) Binding 1
|
Decorate 50(rtas) Binding 1
|
||||||
MemberDecorate 261(Ray) 0 Offset 0
|
MemberDecorate 252(Ray) 0 Offset 0
|
||||||
MemberDecorate 261(Ray) 1 Offset 12
|
MemberDecorate 252(Ray) 1 Offset 12
|
||||||
MemberDecorate 261(Ray) 2 Offset 16
|
MemberDecorate 252(Ray) 2 Offset 16
|
||||||
MemberDecorate 261(Ray) 3 Offset 28
|
MemberDecorate 252(Ray) 3 Offset 28
|
||||||
Decorate 262 ArrayStride 32
|
Decorate 253 ArrayStride 32
|
||||||
MemberDecorate 263(Rays) 0 Offset 0
|
MemberDecorate 254(Rays) 0 Offset 0
|
||||||
Decorate 263(Rays) BufferBlock
|
Decorate 254(Rays) BufferBlock
|
||||||
Decorate 265 DescriptorSet 0
|
Decorate 256 DescriptorSet 0
|
||||||
Decorate 265 Binding 2
|
Decorate 256 Binding 2
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
8: TypeFloat 32
|
8: TypeFloat 32
|
||||||
@ -86,40 +88,40 @@ rayQuery-allOps.rgen
|
|||||||
37: 18(int) Constant 3
|
37: 18(int) Constant 3
|
||||||
38: 8(float) Constant 1176255488
|
38: 8(float) Constant 1176255488
|
||||||
45: TypeRayQueryProvisionalKHR
|
45: TypeRayQueryProvisionalKHR
|
||||||
46: TypePointer Function 45
|
46: TypePointer Workgroup 45
|
||||||
|
47(rayQuery): 46(ptr) Variable Workgroup
|
||||||
48: TypeAccelerationStructureKHR
|
48: TypeAccelerationStructureKHR
|
||||||
49: TypePointer UniformConstant 48
|
49: TypePointer UniformConstant 48
|
||||||
50(rtas): 49(ptr) Variable UniformConstant
|
50(rtas): 49(ptr) Variable UniformConstant
|
||||||
52: 14(int) Constant 255
|
52: 14(int) Constant 255
|
||||||
67: TypeBool
|
66: TypeBool
|
||||||
69: TypePointer Function 14(int)
|
68: TypePointer Function 14(int)
|
||||||
71: 67(bool) ConstantFalse
|
70: 66(bool) ConstantFalse
|
||||||
78: TypeMatrix 9(fvec3) 4
|
76: TypeMatrix 9(fvec3) 4
|
||||||
79: TypePointer Function 78
|
77: TypePointer Function 76
|
||||||
82: TypeVector 8(float) 4
|
80: TypeVector 8(float) 4
|
||||||
83: TypeMatrix 82(fvec4) 3
|
81: TypeMatrix 80(fvec4) 3
|
||||||
84: TypePointer Function 83
|
82: TypePointer Function 81
|
||||||
89: 67(bool) ConstantTrue
|
86: 66(bool) ConstantTrue
|
||||||
94: TypeVector 8(float) 2
|
91: TypeVector 8(float) 2
|
||||||
148: 8(float) Constant 1056964608
|
144: 8(float) Constant 1056964608
|
||||||
180: 14(int) Constant 1
|
175: 14(int) Constant 1
|
||||||
203: 14(int) Constant 2
|
198: 14(int) Constant 2
|
||||||
261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
252(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
|
||||||
262: TypeRuntimeArray 261(Ray)
|
253: TypeRuntimeArray 252(Ray)
|
||||||
263(Rays): TypeStruct 262
|
254(Rays): TypeStruct 253
|
||||||
264: TypePointer Uniform 263(Rays)
|
255: TypePointer Uniform 254(Rays)
|
||||||
265: 264(ptr) Variable Uniform
|
256: 255(ptr) Variable Uniform
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
43(ray): 25(ptr) Variable Function
|
43(ray): 25(ptr) Variable Function
|
||||||
47(rayQuery): 46(ptr) Variable Function
|
69(candidateType): 68(ptr) Variable Function
|
||||||
70(candidateType): 69(ptr) Variable Function
|
78(_mat4x3): 77(ptr) Variable Function
|
||||||
80(_mat4x3): 79(ptr) Variable Function
|
83(_mat3x4): 82(ptr) Variable Function
|
||||||
85(_mat3x4): 84(ptr) Variable Function
|
143(t): 35(ptr) Variable Function
|
||||||
147(t): 35(ptr) Variable Function
|
156(committedStatus): 68(ptr) Variable Function
|
||||||
161(committedStatus): 69(ptr) Variable Function
|
240(o): 29(ptr) Variable Function
|
||||||
247(o): 29(ptr) Variable Function
|
242(d): 29(ptr) Variable Function
|
||||||
250(d): 29(ptr) Variable Function
|
|
||||||
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
44: 10(Ray) FunctionCall 12(makeRayDesc()
|
||||||
Store 43(ray) 44
|
Store 43(ray) 44
|
||||||
51: 48 Load 50(rtas)
|
51: 48 Load 50(rtas)
|
||||||
@ -137,283 +139,274 @@ rayQuery-allOps.rgen
|
|||||||
LoopMerge 63 64 None
|
LoopMerge 63 64 None
|
||||||
Branch 65
|
Branch 65
|
||||||
65: Label
|
65: Label
|
||||||
66: 45 Load 47(rayQuery)
|
67: 66(bool) RayQueryProceedKHR 47(rayQuery)
|
||||||
68: 67(bool) RayQueryProceedKHR 66
|
BranchConditional 67 62 63
|
||||||
BranchConditional 68 62 63
|
|
||||||
62: Label
|
62: Label
|
||||||
72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
71: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
|
||||||
Store 70(candidateType) 72
|
Store 69(candidateType) 71
|
||||||
73: 14(int) Load 70(candidateType)
|
72: 14(int) Load 69(candidateType)
|
||||||
SelectionMerge 76 None
|
SelectionMerge 75 None
|
||||||
Switch 73 76
|
Switch 72 75
|
||||||
case 0: 74
|
case 0: 73
|
||||||
case 1: 75
|
case 1: 74
|
||||||
|
73: Label
|
||||||
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
|
79: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
|
Store 78(_mat4x3) 79
|
||||||
|
84: 76 Load 78(_mat4x3)
|
||||||
|
85: 81 Transpose 84
|
||||||
|
Store 83(_mat3x4) 85
|
||||||
|
RayQueryConfirmIntersectionKHR 47(rayQuery)
|
||||||
|
87: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
|
SelectionMerge 89 None
|
||||||
|
BranchConditional 87 88 89
|
||||||
|
88: Label
|
||||||
|
90: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 89
|
||||||
|
89: Label
|
||||||
|
92: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
|
93: 8(float) CompositeExtract 92 0
|
||||||
|
94: 66(bool) FOrdEqual 93 27
|
||||||
|
SelectionMerge 96 None
|
||||||
|
BranchConditional 94 95 96
|
||||||
|
95: Label
|
||||||
|
97: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 96
|
||||||
|
96: Label
|
||||||
|
98: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
|
99: 66(bool) SGreaterThan 98 19
|
||||||
|
SelectionMerge 101 None
|
||||||
|
BranchConditional 99 100 101
|
||||||
|
100: Label
|
||||||
|
102: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 101
|
||||||
|
101: Label
|
||||||
|
103: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
104: 66(bool) SGreaterThan 103 19
|
||||||
|
SelectionMerge 106 None
|
||||||
|
BranchConditional 104 105 106
|
||||||
|
105: Label
|
||||||
|
107: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 106
|
||||||
|
106: Label
|
||||||
|
108: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
|
109: 8(float) CompositeExtract 108 0
|
||||||
|
110: 66(bool) FOrdGreaterThan 109 27
|
||||||
|
SelectionMerge 112 None
|
||||||
|
BranchConditional 110 111 112
|
||||||
|
111: Label
|
||||||
|
113: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 112
|
||||||
|
112: Label
|
||||||
|
114: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
|
115: 8(float) CompositeExtract 114 0
|
||||||
|
116: 66(bool) FOrdGreaterThan 115 27
|
||||||
|
SelectionMerge 118 None
|
||||||
|
BranchConditional 116 117 118
|
||||||
|
117: Label
|
||||||
|
119: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 118
|
||||||
|
118: Label
|
||||||
|
120: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
|
121: 66(bool) SGreaterThan 120 19
|
||||||
|
SelectionMerge 123 None
|
||||||
|
BranchConditional 121 122 123
|
||||||
|
122: Label
|
||||||
|
124: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 123
|
||||||
|
123: Label
|
||||||
|
125: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
|
126: 66(bool) FOrdGreaterThan 125 27
|
||||||
|
SelectionMerge 128 None
|
||||||
|
BranchConditional 126 127 128
|
||||||
|
127: Label
|
||||||
|
129: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 128
|
||||||
|
128: Label
|
||||||
|
130: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
||||||
|
131: 66(bool) UGreaterThan 130 20
|
||||||
|
SelectionMerge 133 None
|
||||||
|
BranchConditional 131 132 133
|
||||||
|
132: Label
|
||||||
|
134: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 133
|
||||||
|
133: Label
|
||||||
|
Branch 75
|
||||||
74: Label
|
74: Label
|
||||||
77: 45 Load 47(rayQuery)
|
136: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
||||||
RayQueryTerminateKHR 77
|
Store 78(_mat4x3) 136
|
||||||
81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
137: 76 Load 78(_mat4x3)
|
||||||
Store 80(_mat4x3) 81
|
138: 81 Transpose 137
|
||||||
86: 78 Load 80(_mat4x3)
|
Store 83(_mat3x4) 138
|
||||||
87: 83 Transpose 86
|
139: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery)
|
||||||
Store 85(_mat3x4) 87
|
SelectionMerge 141 None
|
||||||
88: 45 Load 47(rayQuery)
|
BranchConditional 139 140 141
|
||||||
RayQueryConfirmIntersectionKHR 88
|
140: Label
|
||||||
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
142: 2 FunctionCall 6(doSomething()
|
||||||
SelectionMerge 92 None
|
Branch 141
|
||||||
BranchConditional 90 91 92
|
141: Label
|
||||||
91: Label
|
Store 143(t) 144
|
||||||
93: 2 FunctionCall 6(doSomething()
|
145: 8(float) Load 143(t)
|
||||||
Branch 92
|
RayQueryGenerateIntersectionKHR 47(rayQuery) 145
|
||||||
92: Label
|
RayQueryTerminateKHR 47(rayQuery)
|
||||||
95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
Branch 75
|
||||||
96: 8(float) CompositeExtract 95 0
|
75: Label
|
||||||
97: 67(bool) FOrdEqual 96 27
|
|
||||||
SelectionMerge 99 None
|
|
||||||
BranchConditional 97 98 99
|
|
||||||
98: Label
|
|
||||||
100: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 99
|
|
||||||
99: Label
|
|
||||||
101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
|
||||||
102: 67(bool) SGreaterThan 101 19
|
|
||||||
SelectionMerge 104 None
|
|
||||||
BranchConditional 102 103 104
|
|
||||||
103: Label
|
|
||||||
105: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 104
|
|
||||||
104: Label
|
|
||||||
106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
|
||||||
107: 67(bool) SGreaterThan 106 19
|
|
||||||
SelectionMerge 109 None
|
|
||||||
BranchConditional 107 108 109
|
|
||||||
108: Label
|
|
||||||
110: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 109
|
|
||||||
109: Label
|
|
||||||
111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
|
||||||
112: 8(float) CompositeExtract 111 0
|
|
||||||
113: 67(bool) FOrdGreaterThan 112 27
|
|
||||||
SelectionMerge 115 None
|
|
||||||
BranchConditional 113 114 115
|
|
||||||
114: Label
|
|
||||||
116: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 115
|
|
||||||
115: Label
|
|
||||||
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
|
||||||
118: 8(float) CompositeExtract 117 0
|
|
||||||
119: 67(bool) FOrdGreaterThan 118 27
|
|
||||||
SelectionMerge 121 None
|
|
||||||
BranchConditional 119 120 121
|
|
||||||
120: Label
|
|
||||||
122: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 121
|
|
||||||
121: Label
|
|
||||||
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
|
||||||
124: 67(bool) SGreaterThan 123 19
|
|
||||||
SelectionMerge 126 None
|
|
||||||
BranchConditional 124 125 126
|
|
||||||
125: Label
|
|
||||||
127: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 126
|
|
||||||
126: Label
|
|
||||||
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
|
||||||
129: 67(bool) FOrdGreaterThan 128 27
|
|
||||||
SelectionMerge 131 None
|
|
||||||
BranchConditional 129 130 131
|
|
||||||
130: Label
|
|
||||||
132: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 131
|
|
||||||
131: Label
|
|
||||||
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
|
|
||||||
134: 67(bool) UGreaterThan 133 20
|
|
||||||
SelectionMerge 136 None
|
|
||||||
BranchConditional 134 135 136
|
|
||||||
135: Label
|
|
||||||
137: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 136
|
|
||||||
136: Label
|
|
||||||
Branch 76
|
|
||||||
75: Label
|
|
||||||
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
|
|
||||||
Store 80(_mat4x3) 139
|
|
||||||
140: 78 Load 80(_mat4x3)
|
|
||||||
141: 83 Transpose 140
|
|
||||||
Store 85(_mat3x4) 141
|
|
||||||
142: 45 Load 47(rayQuery)
|
|
||||||
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
|
|
||||||
SelectionMerge 145 None
|
|
||||||
BranchConditional 143 144 145
|
|
||||||
144: Label
|
|
||||||
146: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 145
|
|
||||||
145: Label
|
|
||||||
Store 147(t) 148
|
|
||||||
149: 8(float) Load 147(t)
|
|
||||||
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
|
|
||||||
150: 45 Load 47(rayQuery)
|
|
||||||
RayQueryTerminateKHR 150
|
|
||||||
Branch 76
|
|
||||||
76: Label
|
|
||||||
Branch 64
|
Branch 64
|
||||||
64: Label
|
64: Label
|
||||||
Branch 61
|
Branch 61
|
||||||
63: Label
|
63: Label
|
||||||
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
148: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
154: 8(float) Load 153
|
149: 8(float) Load 148
|
||||||
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
150: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
156: 8(float) Load 155
|
151: 8(float) Load 150
|
||||||
157: 67(bool) FOrdEqual 154 156
|
152: 66(bool) FOrdEqual 149 151
|
||||||
SelectionMerge 159 None
|
SelectionMerge 154 None
|
||||||
BranchConditional 157 158 159
|
BranchConditional 152 153 154
|
||||||
158: Label
|
153: Label
|
||||||
160: 2 FunctionCall 6(doSomething()
|
155: 2 FunctionCall 6(doSomething()
|
||||||
Branch 159
|
Branch 154
|
||||||
159: Label
|
154: Label
|
||||||
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
157: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
|
||||||
Store 161(committedStatus) 162
|
Store 156(committedStatus) 157
|
||||||
163: 14(int) Load 161(committedStatus)
|
158: 14(int) Load 156(committedStatus)
|
||||||
SelectionMerge 167 None
|
SelectionMerge 162 None
|
||||||
Switch 163 167
|
Switch 158 162
|
||||||
case 0: 164
|
case 0: 159
|
||||||
case 1: 165
|
case 1: 160
|
||||||
case 2: 166
|
case 2: 161
|
||||||
164: Label
|
159: Label
|
||||||
168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
163: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
|
||||||
Store 80(_mat4x3) 168
|
Store 78(_mat4x3) 163
|
||||||
169: 78 Load 80(_mat4x3)
|
164: 76 Load 78(_mat4x3)
|
||||||
170: 83 Transpose 169
|
165: 81 Transpose 164
|
||||||
Store 85(_mat3x4) 170
|
Store 83(_mat3x4) 165
|
||||||
Branch 167
|
Branch 162
|
||||||
165: Label
|
160: Label
|
||||||
172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
167: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
|
||||||
Store 80(_mat4x3) 172
|
Store 78(_mat4x3) 167
|
||||||
173: 78 Load 80(_mat4x3)
|
168: 76 Load 78(_mat4x3)
|
||||||
174: 83 Transpose 173
|
169: 81 Transpose 168
|
||||||
Store 85(_mat3x4) 174
|
Store 83(_mat3x4) 169
|
||||||
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
170: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
|
||||||
SelectionMerge 177 None
|
SelectionMerge 172 None
|
||||||
BranchConditional 175 176 177
|
BranchConditional 170 171 172
|
||||||
176: Label
|
171: Label
|
||||||
178: 2 FunctionCall 6(doSomething()
|
173: 2 FunctionCall 6(doSomething()
|
||||||
Branch 177
|
Branch 172
|
||||||
177: Label
|
172: Label
|
||||||
179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
174: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
|
||||||
181: 8(float) CompositeExtract 179 1
|
176: 8(float) CompositeExtract 174 1
|
||||||
182: 67(bool) FOrdEqual 181 27
|
177: 66(bool) FOrdEqual 176 27
|
||||||
SelectionMerge 184 None
|
SelectionMerge 179 None
|
||||||
BranchConditional 182 183 184
|
BranchConditional 177 178 179
|
||||||
183: Label
|
178: Label
|
||||||
185: 2 FunctionCall 6(doSomething()
|
180: 2 FunctionCall 6(doSomething()
|
||||||
Branch 184
|
Branch 179
|
||||||
184: Label
|
179: Label
|
||||||
Branch 167
|
Branch 162
|
||||||
166: Label
|
161: Label
|
||||||
187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
182: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
|
||||||
188: 67(bool) SGreaterThan 187 19
|
183: 66(bool) SGreaterThan 182 19
|
||||||
|
SelectionMerge 185 None
|
||||||
|
BranchConditional 183 184 185
|
||||||
|
184: Label
|
||||||
|
186: 2 FunctionCall 6(doSomething()
|
||||||
|
Branch 185
|
||||||
|
185: Label
|
||||||
|
187: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
||||||
|
188: 66(bool) SGreaterThan 187 19
|
||||||
SelectionMerge 190 None
|
SelectionMerge 190 None
|
||||||
BranchConditional 188 189 190
|
BranchConditional 188 189 190
|
||||||
189: Label
|
189: Label
|
||||||
191: 2 FunctionCall 6(doSomething()
|
191: 2 FunctionCall 6(doSomething()
|
||||||
Branch 190
|
Branch 190
|
||||||
190: Label
|
190: Label
|
||||||
192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
|
192: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
||||||
193: 67(bool) SGreaterThan 192 19
|
193: 66(bool) SGreaterThan 192 19
|
||||||
SelectionMerge 195 None
|
SelectionMerge 195 None
|
||||||
BranchConditional 193 194 195
|
BranchConditional 193 194 195
|
||||||
194: Label
|
194: Label
|
||||||
196: 2 FunctionCall 6(doSomething()
|
196: 2 FunctionCall 6(doSomething()
|
||||||
Branch 195
|
Branch 195
|
||||||
195: Label
|
195: Label
|
||||||
197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
|
197: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
||||||
198: 67(bool) SGreaterThan 197 19
|
199: 8(float) CompositeExtract 197 2
|
||||||
SelectionMerge 200 None
|
200: 66(bool) FOrdGreaterThan 199 27
|
||||||
BranchConditional 198 199 200
|
SelectionMerge 202 None
|
||||||
199: Label
|
BranchConditional 200 201 202
|
||||||
201: 2 FunctionCall 6(doSomething()
|
201: Label
|
||||||
Branch 200
|
203: 2 FunctionCall 6(doSomething()
|
||||||
200: Label
|
Branch 202
|
||||||
202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
|
202: Label
|
||||||
204: 8(float) CompositeExtract 202 2
|
204: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
||||||
205: 67(bool) FOrdGreaterThan 204 27
|
205: 8(float) CompositeExtract 204 0
|
||||||
SelectionMerge 207 None
|
206: 66(bool) FOrdGreaterThan 205 27
|
||||||
BranchConditional 205 206 207
|
SelectionMerge 208 None
|
||||||
206: Label
|
BranchConditional 206 207 208
|
||||||
208: 2 FunctionCall 6(doSomething()
|
207: Label
|
||||||
Branch 207
|
209: 2 FunctionCall 6(doSomething()
|
||||||
207: Label
|
Branch 208
|
||||||
209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
|
208: Label
|
||||||
210: 8(float) CompositeExtract 209 0
|
210: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
||||||
211: 67(bool) FOrdGreaterThan 210 27
|
211: 66(bool) SGreaterThan 210 19
|
||||||
SelectionMerge 213 None
|
SelectionMerge 213 None
|
||||||
BranchConditional 211 212 213
|
BranchConditional 211 212 213
|
||||||
212: Label
|
212: Label
|
||||||
214: 2 FunctionCall 6(doSomething()
|
214: 2 FunctionCall 6(doSomething()
|
||||||
Branch 213
|
Branch 213
|
||||||
213: Label
|
213: Label
|
||||||
215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
|
215: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
||||||
216: 67(bool) SGreaterThan 215 19
|
216: 66(bool) FOrdGreaterThan 215 27
|
||||||
SelectionMerge 218 None
|
SelectionMerge 218 None
|
||||||
BranchConditional 216 217 218
|
BranchConditional 216 217 218
|
||||||
217: Label
|
217: Label
|
||||||
219: 2 FunctionCall 6(doSomething()
|
219: 2 FunctionCall 6(doSomething()
|
||||||
Branch 218
|
Branch 218
|
||||||
218: Label
|
218: Label
|
||||||
220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
|
Branch 162
|
||||||
221: 67(bool) FOrdGreaterThan 220 27
|
162: Label
|
||||||
SelectionMerge 223 None
|
222: 35(ptr) AccessChain 83(_mat3x4) 19 20
|
||||||
BranchConditional 221 222 223
|
223: 8(float) Load 222
|
||||||
222: Label
|
224: 35(ptr) AccessChain 78(_mat4x3) 19 20
|
||||||
224: 2 FunctionCall 6(doSomething()
|
225: 8(float) Load 224
|
||||||
Branch 223
|
226: 66(bool) FOrdEqual 223 225
|
||||||
223: Label
|
SelectionMerge 228 None
|
||||||
Branch 167
|
BranchConditional 226 227 228
|
||||||
167: Label
|
227: Label
|
||||||
227: 35(ptr) AccessChain 85(_mat3x4) 19 20
|
229: 2 FunctionCall 6(doSomething()
|
||||||
228: 8(float) Load 227
|
Branch 228
|
||||||
229: 35(ptr) AccessChain 80(_mat4x3) 19 20
|
228: Label
|
||||||
230: 8(float) Load 229
|
230: 14(int) RayQueryGetRayFlagsKHR 47(rayQuery)
|
||||||
231: 67(bool) FOrdEqual 228 230
|
231: 66(bool) UGreaterThan 230 20
|
||||||
SelectionMerge 233 None
|
SelectionMerge 233 None
|
||||||
BranchConditional 231 232 233
|
BranchConditional 231 232 233
|
||||||
232: Label
|
232: Label
|
||||||
234: 2 FunctionCall 6(doSomething()
|
234: 2 FunctionCall 6(doSomething()
|
||||||
Branch 233
|
Branch 233
|
||||||
233: Label
|
233: Label
|
||||||
235: 45 Load 47(rayQuery)
|
235: 8(float) RayQueryGetRayTMinKHR 47(rayQuery)
|
||||||
236: 14(int) RayQueryGetRayFlagsKHR 235
|
236: 66(bool) FOrdGreaterThan 235 27
|
||||||
237: 67(bool) UGreaterThan 236 20
|
SelectionMerge 238 None
|
||||||
SelectionMerge 239 None
|
BranchConditional 236 237 238
|
||||||
BranchConditional 237 238 239
|
237: Label
|
||||||
238: Label
|
239: 2 FunctionCall 6(doSomething()
|
||||||
240: 2 FunctionCall 6(doSomething()
|
Branch 238
|
||||||
Branch 239
|
238: Label
|
||||||
239: Label
|
241: 9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
|
||||||
241: 45 Load 47(rayQuery)
|
Store 240(o) 241
|
||||||
242: 8(float) RayQueryGetRayTMinKHR 241
|
243: 9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
|
||||||
243: 67(bool) FOrdGreaterThan 242 27
|
Store 242(d) 243
|
||||||
SelectionMerge 245 None
|
244: 35(ptr) AccessChain 240(o) 20
|
||||||
BranchConditional 243 244 245
|
245: 8(float) Load 244
|
||||||
244: Label
|
246: 35(ptr) AccessChain 242(d) 198
|
||||||
246: 2 FunctionCall 6(doSomething()
|
247: 8(float) Load 246
|
||||||
Branch 245
|
248: 66(bool) FOrdEqual 245 247
|
||||||
245: Label
|
SelectionMerge 250 None
|
||||||
248: 45 Load 47(rayQuery)
|
BranchConditional 248 249 250
|
||||||
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
|
249: Label
|
||||||
Store 247(o) 249
|
251: 2 FunctionCall 6(doSomething()
|
||||||
251: 45 Load 47(rayQuery)
|
Branch 250
|
||||||
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
|
250: Label
|
||||||
Store 250(d) 252
|
|
||||||
253: 35(ptr) AccessChain 247(o) 20
|
|
||||||
254: 8(float) Load 253
|
|
||||||
255: 35(ptr) AccessChain 250(d) 203
|
|
||||||
256: 8(float) Load 255
|
|
||||||
257: 67(bool) FOrdEqual 254 256
|
|
||||||
SelectionMerge 259 None
|
|
||||||
BranchConditional 257 258 259
|
|
||||||
258: Label
|
|
||||||
260: 2 FunctionCall 6(doSomething()
|
|
||||||
Branch 259
|
|
||||||
259: Label
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
6(doSomething(): 2 Function None 3
|
6(doSomething(): 2 Function None 3
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-array-2d-dynamic.rgen
|
rayQuery-array-2d-dynamic.rgen
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 128
|
// Id's are bound by 124
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -37,11 +39,9 @@ rayQuery-array-2d-dynamic.rgen
|
|||||||
MemberName 74(Rays) 0 "rays"
|
MemberName 74(Rays) 0 "rays"
|
||||||
Name 76 ""
|
Name 76 ""
|
||||||
Name 91 "rayQuery"
|
Name 91 "rayQuery"
|
||||||
Name 93 "param"
|
Name 94 "param"
|
||||||
Name 96 "param"
|
Name 118 "C"
|
||||||
Name 120 "C"
|
Name 121 "param"
|
||||||
Name 122 "param"
|
|
||||||
Name 125 "param"
|
|
||||||
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
||||||
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
@ -60,7 +60,7 @@ rayQuery-array-2d-dynamic.rgen
|
|||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
7: TypeFunction 6(int)
|
7: TypeFunction 6(int)
|
||||||
10: TypeRayQueryProvisionalKHR
|
10: TypeRayQueryProvisionalKHR
|
||||||
11: TypePointer Function 10
|
11: TypePointer Workgroup 10
|
||||||
12: TypeFloat 32
|
12: TypeFloat 32
|
||||||
13: TypeVector 12(float) 3
|
13: TypeVector 12(float) 3
|
||||||
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
||||||
@ -93,19 +93,17 @@ rayQuery-array-2d-dynamic.rgen
|
|||||||
76: 75(ptr) Variable Uniform
|
76: 75(ptr) Variable Uniform
|
||||||
78: TypePointer Uniform 72(Ray)
|
78: TypePointer Uniform 72(Ray)
|
||||||
89: TypeArray 10 24
|
89: TypeArray 10 24
|
||||||
90: TypePointer Function 89
|
90: TypePointer Workgroup 89
|
||||||
110: 6(int) Constant 32
|
91(rayQuery): 90(ptr) Variable Workgroup
|
||||||
119: TypePointer Private 53(int)
|
108: 6(int) Constant 32
|
||||||
120(C): 119(ptr) Variable Private
|
117: TypePointer Private 53(int)
|
||||||
|
118(C): 117(ptr) Variable Private
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
69(index): 68(ptr) Variable Function
|
69(index): 68(ptr) Variable Function
|
||||||
71(ray): 15(ptr) Variable Function
|
71(ray): 15(ptr) Variable Function
|
||||||
91(rayQuery): 90(ptr) Variable Function
|
94(param): 15(ptr) Variable Function
|
||||||
93(param): 11(ptr) Variable Function
|
121(param): 15(ptr) Variable Function
|
||||||
96(param): 15(ptr) Variable Function
|
|
||||||
122(param): 11(ptr) Variable Function
|
|
||||||
125(param): 15(ptr) Variable Function
|
|
||||||
70: 6(int) FunctionCall 8(launchIndex()
|
70: 6(int) FunctionCall 8(launchIndex()
|
||||||
Store 69(index) 70
|
Store 69(index) 70
|
||||||
77: 6(int) Load 69(index)
|
77: 6(int) Load 69(index)
|
||||||
@ -124,42 +122,38 @@ rayQuery-array-2d-dynamic.rgen
|
|||||||
88: 59(ptr) AccessChain 71(ray) 65
|
88: 59(ptr) AccessChain 71(ray) 65
|
||||||
Store 88 87
|
Store 88 87
|
||||||
92: 6(int) Load 69(index)
|
92: 6(int) Load 69(index)
|
||||||
94: 11(ptr) AccessChain 91(rayQuery) 54
|
93: 11(ptr) AccessChain 91(rayQuery) 54
|
||||||
95: 10 Load 94
|
95: 78(ptr) AccessChain 76 54 92
|
||||||
Store 93(param) 95
|
96: 72(Ray) Load 95
|
||||||
97: 78(ptr) AccessChain 76 54 92
|
97: 13(fvec3) CompositeExtract 96 0
|
||||||
98: 72(Ray) Load 97
|
98: 55(ptr) AccessChain 94(param) 54
|
||||||
99: 13(fvec3) CompositeExtract 98 0
|
Store 98 97
|
||||||
100: 55(ptr) AccessChain 96(param) 54
|
99: 12(float) CompositeExtract 96 1
|
||||||
|
100: 59(ptr) AccessChain 94(param) 58
|
||||||
Store 100 99
|
Store 100 99
|
||||||
101: 12(float) CompositeExtract 98 1
|
101: 13(fvec3) CompositeExtract 96 2
|
||||||
102: 59(ptr) AccessChain 96(param) 58
|
102: 55(ptr) AccessChain 94(param) 62
|
||||||
Store 102 101
|
Store 102 101
|
||||||
103: 13(fvec3) CompositeExtract 98 2
|
103: 12(float) CompositeExtract 96 3
|
||||||
104: 55(ptr) AccessChain 96(param) 62
|
104: 59(ptr) AccessChain 94(param) 65
|
||||||
Store 104 103
|
Store 104 103
|
||||||
105: 12(float) CompositeExtract 98 3
|
105: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 93 94(param)
|
||||||
106: 59(ptr) AccessChain 96(param) 65
|
106: 11(ptr) AccessChain 91(rayQuery) 58
|
||||||
Store 106 105
|
107: 48 Load 50(rtas)
|
||||||
107: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 93(param) 96(param)
|
109: 55(ptr) AccessChain 71(ray) 54
|
||||||
108: 11(ptr) AccessChain 91(rayQuery) 58
|
110: 13(fvec3) Load 109
|
||||||
109: 48 Load 50(rtas)
|
111: 59(ptr) AccessChain 71(ray) 58
|
||||||
111: 55(ptr) AccessChain 71(ray) 54
|
112: 12(float) Load 111
|
||||||
112: 13(fvec3) Load 111
|
113: 55(ptr) AccessChain 71(ray) 62
|
||||||
113: 59(ptr) AccessChain 71(ray) 58
|
114: 13(fvec3) Load 113
|
||||||
114: 12(float) Load 113
|
115: 59(ptr) AccessChain 71(ray) 65
|
||||||
115: 55(ptr) AccessChain 71(ray) 62
|
116: 12(float) Load 115
|
||||||
116: 13(fvec3) Load 115
|
RayQueryInitializeKHR 106 107 33 108 110 112 114 116
|
||||||
117: 59(ptr) AccessChain 71(ray) 65
|
119: 53(int) Load 118(C)
|
||||||
118: 12(float) Load 117
|
120: 11(ptr) AccessChain 91(rayQuery) 119
|
||||||
RayQueryInitializeKHR 108 109 33 110 112 114 116 118
|
122: 14(Ray) Load 71(ray)
|
||||||
121: 53(int) Load 120(C)
|
Store 121(param) 122
|
||||||
123: 11(ptr) AccessChain 91(rayQuery) 121
|
123: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 120 121(param)
|
||||||
124: 10 Load 123
|
|
||||||
Store 122(param) 124
|
|
||||||
126: 14(Ray) Load 71(ray)
|
|
||||||
Store 125(param) 126
|
|
||||||
127: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 122(param) 125(param)
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
8(launchIndex(): 6(int) Function None 7
|
8(launchIndex(): 6(int) Function None 7
|
||||||
|
@ -3,9 +3,11 @@ rayQuery-decls.rgen
|
|||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 130
|
// Id's are bound by 130
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -90,29 +92,29 @@ rayQuery-decls.rgen
|
|||||||
69: TypeRayQueryProvisionalKHR
|
69: TypeRayQueryProvisionalKHR
|
||||||
70: 6(int) Constant 4
|
70: 6(int) Constant 4
|
||||||
71: TypeArray 69 70
|
71: TypeArray 69 70
|
||||||
72: TypePointer Function 71
|
72: TypePointer Workgroup 71
|
||||||
|
73(g_rayQueryArray): 72(ptr) Variable Workgroup
|
||||||
74(block): TypeStruct 6(int)
|
74(block): TypeStruct 6(int)
|
||||||
75: TypePointer ShaderRecordBufferKHR 74(block)
|
75: TypePointer ShaderRecordBufferKHR 74(block)
|
||||||
76: 75(ptr) Variable ShaderRecordBufferKHR
|
76: 75(ptr) Variable ShaderRecordBufferKHR
|
||||||
77: TypePointer ShaderRecordBufferKHR 6(int)
|
77: TypePointer ShaderRecordBufferKHR 6(int)
|
||||||
80: TypePointer Function 69
|
80: TypePointer Workgroup 69
|
||||||
|
81(rayQuery0b): 80(ptr) Variable Workgroup
|
||||||
|
86(rayQuery0a): 80(ptr) Variable Workgroup
|
||||||
|
89(rayQuery0c): 80(ptr) Variable Workgroup
|
||||||
94: TypeAccelerationStructureKHR
|
94: TypeAccelerationStructureKHR
|
||||||
95: TypePointer UniformConstant 94
|
95: TypePointer UniformConstant 94
|
||||||
96(rtas): 95(ptr) Variable UniformConstant
|
96(rtas): 95(ptr) Variable UniformConstant
|
||||||
98: 6(int) Constant 16
|
98: 6(int) Constant 16
|
||||||
|
107(rayQuery1c): 80(ptr) Variable Workgroup
|
||||||
109: 6(int) Constant 32
|
109: 6(int) Constant 32
|
||||||
119: 6(int) Constant 3
|
119: 6(int) Constant 3
|
||||||
120: 6(int) Constant 64
|
120: 6(int) Constant 64
|
||||||
|
129(g_rayQueryUnused): 80(ptr) Variable Workgroup
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
38(index): 37(ptr) Variable Function
|
38(index): 37(ptr) Variable Function
|
||||||
44(ray): 43(ptr) Variable Function
|
44(ray): 43(ptr) Variable Function
|
||||||
73(g_rayQueryArray): 72(ptr) Variable Function
|
|
||||||
81(rayQuery0b): 80(ptr) Variable Function
|
|
||||||
86(rayQuery0a): 80(ptr) Variable Function
|
|
||||||
89(rayQuery0c): 80(ptr) Variable Function
|
|
||||||
107(rayQuery1c): 80(ptr) Variable Function
|
|
||||||
129(g_rayQueryUnused): 80(ptr) Variable Function
|
|
||||||
39: 6(int) FunctionCall 8(launchIndex()
|
39: 6(int) FunctionCall 8(launchIndex()
|
||||||
Store 38(index) 39
|
Store 38(index) 39
|
||||||
52: 6(int) Load 38(index)
|
52: 6(int) Load 38(index)
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-initialize.rgen
|
rayQuery-initialize.rgen
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 105
|
// Id's are bound by 103
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -38,7 +40,6 @@ rayQuery-initialize.rgen
|
|||||||
Name 76 ""
|
Name 76 ""
|
||||||
Name 89 "rayQuery"
|
Name 89 "rayQuery"
|
||||||
Name 90 "param"
|
Name 90 "param"
|
||||||
Name 92 "param"
|
|
||||||
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
||||||
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
@ -57,7 +58,7 @@ rayQuery-initialize.rgen
|
|||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
7: TypeFunction 6(int)
|
7: TypeFunction 6(int)
|
||||||
10: TypeRayQueryProvisionalKHR
|
10: TypeRayQueryProvisionalKHR
|
||||||
11: TypePointer Function 10
|
11: TypePointer Workgroup 10
|
||||||
12: TypeFloat 32
|
12: TypeFloat 32
|
||||||
13: TypeVector 12(float) 3
|
13: TypeVector 12(float) 3
|
||||||
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
||||||
@ -89,14 +90,13 @@ rayQuery-initialize.rgen
|
|||||||
75: TypePointer Uniform 74(Rays)
|
75: TypePointer Uniform 74(Rays)
|
||||||
76: 75(ptr) Variable Uniform
|
76: 75(ptr) Variable Uniform
|
||||||
78: TypePointer Uniform 72(Ray)
|
78: TypePointer Uniform 72(Ray)
|
||||||
96: 6(int) Constant 32
|
89(rayQuery): 11(ptr) Variable Workgroup
|
||||||
|
94: 6(int) Constant 32
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
69(index): 68(ptr) Variable Function
|
69(index): 68(ptr) Variable Function
|
||||||
71(ray): 15(ptr) Variable Function
|
71(ray): 15(ptr) Variable Function
|
||||||
89(rayQuery): 11(ptr) Variable Function
|
90(param): 15(ptr) Variable Function
|
||||||
90(param): 11(ptr) Variable Function
|
|
||||||
92(param): 15(ptr) Variable Function
|
|
||||||
70: 6(int) FunctionCall 8(launchIndex()
|
70: 6(int) FunctionCall 8(launchIndex()
|
||||||
Store 69(index) 70
|
Store 69(index) 70
|
||||||
77: 6(int) Load 69(index)
|
77: 6(int) Load 69(index)
|
||||||
@ -114,21 +114,19 @@ rayQuery-initialize.rgen
|
|||||||
87: 12(float) CompositeExtract 80 3
|
87: 12(float) CompositeExtract 80 3
|
||||||
88: 59(ptr) AccessChain 71(ray) 65
|
88: 59(ptr) AccessChain 71(ray) 65
|
||||||
Store 88 87
|
Store 88 87
|
||||||
91: 10 Load 89(rayQuery)
|
91: 14(Ray) Load 71(ray)
|
||||||
Store 90(param) 91
|
Store 90(param) 91
|
||||||
93: 14(Ray) Load 71(ray)
|
92: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(rayQuery) 90(param)
|
||||||
Store 92(param) 93
|
93: 48 Load 50(rtas)
|
||||||
94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
|
95: 55(ptr) AccessChain 71(ray) 54
|
||||||
95: 48 Load 50(rtas)
|
96: 13(fvec3) Load 95
|
||||||
97: 55(ptr) AccessChain 71(ray) 54
|
97: 59(ptr) AccessChain 71(ray) 58
|
||||||
98: 13(fvec3) Load 97
|
98: 12(float) Load 97
|
||||||
99: 59(ptr) AccessChain 71(ray) 58
|
99: 55(ptr) AccessChain 71(ray) 62
|
||||||
100: 12(float) Load 99
|
100: 13(fvec3) Load 99
|
||||||
101: 55(ptr) AccessChain 71(ray) 62
|
101: 59(ptr) AccessChain 71(ray) 65
|
||||||
102: 13(fvec3) Load 101
|
102: 12(float) Load 101
|
||||||
103: 59(ptr) AccessChain 71(ray) 65
|
RayQueryInitializeKHR 89(rayQuery) 93 33 94 96 98 100 102
|
||||||
104: 12(float) Load 103
|
|
||||||
RayQueryInitializeKHR 89(rayQuery) 95 33 96 98 100 102 104
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
8(launchIndex(): 6(int) Function None 7
|
8(launchIndex(): 6(int) Function None 7
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery-no-cse.rgen
|
rayQuery-no-cse.rgen
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 111
|
// Id's are bound by 107
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -38,10 +40,8 @@ rayQuery-no-cse.rgen
|
|||||||
Name 76 ""
|
Name 76 ""
|
||||||
Name 89 "rayQuery1"
|
Name 89 "rayQuery1"
|
||||||
Name 90 "param"
|
Name 90 "param"
|
||||||
Name 92 "param"
|
Name 103 "rayQuery2"
|
||||||
Name 105 "rayQuery2"
|
Name 104 "param"
|
||||||
Name 106 "param"
|
|
||||||
Name 108 "param"
|
|
||||||
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
|
||||||
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
|
||||||
Decorate 50(rtas) DescriptorSet 0
|
Decorate 50(rtas) DescriptorSet 0
|
||||||
@ -60,7 +60,7 @@ rayQuery-no-cse.rgen
|
|||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
7: TypeFunction 6(int)
|
7: TypeFunction 6(int)
|
||||||
10: TypeRayQueryProvisionalKHR
|
10: TypeRayQueryProvisionalKHR
|
||||||
11: TypePointer Function 10
|
11: TypePointer Workgroup 10
|
||||||
12: TypeFloat 32
|
12: TypeFloat 32
|
||||||
13: TypeVector 12(float) 3
|
13: TypeVector 12(float) 3
|
||||||
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
14(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
|
||||||
@ -92,17 +92,15 @@ rayQuery-no-cse.rgen
|
|||||||
75: TypePointer Uniform 74(Rays)
|
75: TypePointer Uniform 74(Rays)
|
||||||
76: 75(ptr) Variable Uniform
|
76: 75(ptr) Variable Uniform
|
||||||
78: TypePointer Uniform 72(Ray)
|
78: TypePointer Uniform 72(Ray)
|
||||||
96: 6(int) Constant 32
|
89(rayQuery1): 11(ptr) Variable Workgroup
|
||||||
|
94: 6(int) Constant 32
|
||||||
|
103(rayQuery2): 11(ptr) Variable Workgroup
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
69(index): 68(ptr) Variable Function
|
69(index): 68(ptr) Variable Function
|
||||||
71(ray): 15(ptr) Variable Function
|
71(ray): 15(ptr) Variable Function
|
||||||
89(rayQuery1): 11(ptr) Variable Function
|
90(param): 15(ptr) Variable Function
|
||||||
90(param): 11(ptr) Variable Function
|
104(param): 15(ptr) Variable Function
|
||||||
92(param): 15(ptr) Variable Function
|
|
||||||
105(rayQuery2): 11(ptr) Variable Function
|
|
||||||
106(param): 11(ptr) Variable Function
|
|
||||||
108(param): 15(ptr) Variable Function
|
|
||||||
70: 6(int) FunctionCall 8(launchIndex()
|
70: 6(int) FunctionCall 8(launchIndex()
|
||||||
Store 69(index) 70
|
Store 69(index) 70
|
||||||
77: 6(int) Load 69(index)
|
77: 6(int) Load 69(index)
|
||||||
@ -120,26 +118,22 @@ rayQuery-no-cse.rgen
|
|||||||
87: 12(float) CompositeExtract 80 3
|
87: 12(float) CompositeExtract 80 3
|
||||||
88: 59(ptr) AccessChain 71(ray) 65
|
88: 59(ptr) AccessChain 71(ray) 65
|
||||||
Store 88 87
|
Store 88 87
|
||||||
91: 10 Load 89(rayQuery1)
|
91: 14(Ray) Load 71(ray)
|
||||||
Store 90(param) 91
|
Store 90(param) 91
|
||||||
93: 14(Ray) Load 71(ray)
|
92: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(rayQuery1) 90(param)
|
||||||
Store 92(param) 93
|
93: 48 Load 50(rtas)
|
||||||
94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
|
95: 55(ptr) AccessChain 71(ray) 54
|
||||||
95: 48 Load 50(rtas)
|
96: 13(fvec3) Load 95
|
||||||
97: 55(ptr) AccessChain 71(ray) 54
|
97: 59(ptr) AccessChain 71(ray) 58
|
||||||
98: 13(fvec3) Load 97
|
98: 12(float) Load 97
|
||||||
99: 59(ptr) AccessChain 71(ray) 58
|
99: 55(ptr) AccessChain 71(ray) 62
|
||||||
100: 12(float) Load 99
|
100: 13(fvec3) Load 99
|
||||||
101: 55(ptr) AccessChain 71(ray) 62
|
101: 59(ptr) AccessChain 71(ray) 65
|
||||||
102: 13(fvec3) Load 101
|
102: 12(float) Load 101
|
||||||
103: 59(ptr) AccessChain 71(ray) 65
|
RayQueryInitializeKHR 89(rayQuery1) 93 33 94 96 98 100 102
|
||||||
104: 12(float) Load 103
|
105: 14(Ray) Load 71(ray)
|
||||||
RayQueryInitializeKHR 89(rayQuery1) 95 33 96 98 100 102 104
|
Store 104(param) 105
|
||||||
107: 10 Load 105(rayQuery2)
|
106: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 103(rayQuery2) 104(param)
|
||||||
Store 106(param) 107
|
|
||||||
109: 14(Ray) Load 71(ray)
|
|
||||||
Store 108(param) 109
|
|
||||||
110: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 106(param) 108(param)
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
8(launchIndex(): 6(int) Function None 7
|
8(launchIndex(): 6(int) Function None 7
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
rayQuery.rgen
|
rayQuery.rgen
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80008
|
// Generated by (magic number): 80008
|
||||||
// Id's are bound by 46
|
// Id's are bound by 44
|
||||||
|
|
||||||
|
Capability VariablePointers
|
||||||
Capability RayQueryProvisionalKHR
|
Capability RayQueryProvisionalKHR
|
||||||
Capability RayTracingNV
|
Capability RayTracingNV
|
||||||
Extension "SPV_KHR_ray_query"
|
Extension "SPV_KHR_ray_query"
|
||||||
|
Extension "SPV_KHR_variable_pointers"
|
||||||
Extension "SPV_NV_ray_tracing"
|
Extension "SPV_NV_ray_tracing"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
@ -38,7 +40,8 @@ rayQuery.rgen
|
|||||||
13: 10(float) Constant 0
|
13: 10(float) Constant 0
|
||||||
15: 10(float) Constant 1148846080
|
15: 10(float) Constant 1148846080
|
||||||
16: TypeRayQueryProvisionalKHR
|
16: TypeRayQueryProvisionalKHR
|
||||||
17: TypePointer Function 16
|
17: TypePointer Workgroup 16
|
||||||
|
18(localRayQuery): 17(ptr) Variable Workgroup
|
||||||
19: TypeAccelerationStructureKHR
|
19: TypeAccelerationStructureKHR
|
||||||
20: TypePointer UniformConstant 19
|
20: TypePointer UniformConstant 19
|
||||||
21(accNV0): 20(ptr) Variable UniformConstant
|
21(accNV0): 20(ptr) Variable UniformConstant
|
||||||
@ -51,13 +54,12 @@ rayQuery.rgen
|
|||||||
30: 29(int) Constant 1
|
30: 29(int) Constant 1
|
||||||
31: TypePointer ShaderRecordBufferKHR 25(fvec3)
|
31: TypePointer ShaderRecordBufferKHR 25(fvec3)
|
||||||
35: 29(int) Constant 0
|
35: 29(int) Constant 0
|
||||||
40: TypeBool
|
39: TypeBool
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
8(rayFlags): 7(ptr) Variable Function
|
8(rayFlags): 7(ptr) Variable Function
|
||||||
12(tMin): 11(ptr) Variable Function
|
12(tMin): 11(ptr) Variable Function
|
||||||
14(tMax): 11(ptr) Variable Function
|
14(tMax): 11(ptr) Variable Function
|
||||||
18(localRayQuery): 17(ptr) Variable Function
|
|
||||||
Store 8(rayFlags) 9
|
Store 8(rayFlags) 9
|
||||||
Store 12(tMin) 13
|
Store 12(tMin) 13
|
||||||
Store 14(tMax) 15
|
Store 14(tMax) 15
|
||||||
@ -70,15 +72,13 @@ rayQuery.rgen
|
|||||||
37: 25(fvec3) Load 36
|
37: 25(fvec3) Load 36
|
||||||
38: 10(float) Load 14(tMax)
|
38: 10(float) Load 14(tMax)
|
||||||
RayQueryInitializeKHR 18(localRayQuery) 22 23 24 33 34 37 38
|
RayQueryInitializeKHR 18(localRayQuery) 22 23 24 33 34 37 38
|
||||||
39: 16 Load 18(localRayQuery)
|
40: 39(bool) RayQueryProceedKHR 18(localRayQuery)
|
||||||
41: 40(bool) RayQueryProceedKHR 39
|
41: 39(bool) LogicalNot 40
|
||||||
42: 40(bool) LogicalNot 41
|
SelectionMerge 43 None
|
||||||
SelectionMerge 44 None
|
BranchConditional 41 42 43
|
||||||
BranchConditional 42 43 44
|
42: Label
|
||||||
43: Label
|
RayQueryTerminateKHR 18(localRayQuery)
|
||||||
45: 16 Load 18(localRayQuery)
|
Branch 43
|
||||||
RayQueryTerminateKHR 45
|
43: Label
|
||||||
Branch 44
|
|
||||||
44: Label
|
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
@ -1674,7 +1674,7 @@ public:
|
|||||||
}
|
}
|
||||||
virtual bool isOpaque() const { return basicType == EbtSampler
|
virtual bool isOpaque() const { return basicType == EbtSampler
|
||||||
#ifndef GLSLANG_WEB
|
#ifndef GLSLANG_WEB
|
||||||
|| basicType == EbtAtomicUint || basicType == EbtAccStruct
|
|| basicType == EbtAtomicUint || basicType == EbtAccStruct || basicType == EbtRayQuery
|
||||||
#endif
|
#endif
|
||||||
; }
|
; }
|
||||||
virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
|
virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user