From 7f689bebec9f98e5481e8d98d018b6300aa22a71 Mon Sep 17 00:00:00 2001 From: Neslisah Torosdagli Date: Mon, 23 Mar 2020 23:09:44 -0400 Subject: [PATCH] const rayFlag defs used in the test cases in stead of numerical values --- Test/baseResults/rayQuery-allOps.comp.out | 706 +++++++++++---------- Test/baseResults/rayQuery-allOps.frag.out | 706 +++++++++++---------- Test/baseResults/rayQuery-allOps.rgen.out | 706 +++++++++++---------- .../baseResults/rayQuery-array-2d-dynamic.rgen.out | 230 +++---- Test/baseResults/rayQuery-decls.rgen.out | 73 ++- Test/baseResults/rayQuery-initialize.rgen.out | 168 ++--- Test/baseResults/rayQuery-no-cse.rgen.out | 186 +++--- Test/rayQuery-allOps.Error.rgen | 2 +- Test/rayQuery-allOps.comp | 4 +- Test/rayQuery-allOps.frag | 4 +- Test/rayQuery-allOps.rgen | 4 +- Test/rayQuery-array-2d-dynamic.rgen | 4 +- Test/rayQuery-committed.Error.rgen | 2 +- Test/rayQuery-decls.rgen | 6 +- Test/rayQuery-initialize.rgen | 4 +- Test/rayQuery-no-cse.rgen | 4 +- glslang/MachineIndependent/Initialize.cpp | 12 +- 17 files changed, 1413 insertions(+), 1408 deletions(-) diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out index d130122..ec174e7 100644 --- a/Test/baseResults/rayQuery-allOps.comp.out +++ b/Test/baseResults/rayQuery-allOps.comp.out @@ -1,7 +1,7 @@ rayQuery-allOps.comp // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 265 +// Id's are bound by 266 Capability Shader Capability RayQueryProvisionalKHR @@ -26,40 +26,40 @@ rayQuery-allOps.comp MemberName 15(Log) 1 "y" Name 17 "" Name 26 "ray" - Name 45 "rayQuery" - Name 48 "rtas" - Name 51 "ray" - Name 69 "candidateType" - Name 79 "_mat4x3" - Name 84 "_mat3x4" - Name 146 "t" - Name 160 "committedStatus" - Name 246 "o" - Name 249 "d" - Name 260 "Ray" - MemberName 260(Ray) 0 "pos" - MemberName 260(Ray) 1 "tmin" - MemberName 260(Ray) 2 "dir" - MemberName 260(Ray) 3 "tmax" - Name 262 "Rays" - MemberName 262(Rays) 0 "rays" - Name 264 "" + Name 43 "ray" + Name 47 "rayQuery" + Name 50 "rtas" + Name 70 "candidateType" + Name 80 "_mat4x3" + Name 85 "_mat3x4" + Name 147 "t" + Name 161 "committedStatus" + Name 247 "o" + Name 250 "d" + Name 261 "Ray" + MemberName 261(Ray) 0 "pos" + MemberName 261(Ray) 1 "tmin" + MemberName 261(Ray) 2 "dir" + MemberName 261(Ray) 3 "tmax" + Name 263 "Rays" + MemberName 263(Rays) 0 "rays" + Name 265 "" MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 Decorate 15(Log) BufferBlock Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 48(rtas) DescriptorSet 0 - Decorate 48(rtas) Binding 1 - MemberDecorate 260(Ray) 0 Offset 0 - MemberDecorate 260(Ray) 1 Offset 12 - MemberDecorate 260(Ray) 2 Offset 16 - MemberDecorate 260(Ray) 3 Offset 28 - Decorate 261 ArrayStride 32 - MemberDecorate 262(Rays) 0 Offset 0 - Decorate 262(Rays) BufferBlock - Decorate 264 DescriptorSet 0 - Decorate 264 Binding 2 + Decorate 50(rtas) DescriptorSet 0 + Decorate 50(rtas) Binding 1 + MemberDecorate 261(Ray) 0 Offset 0 + MemberDecorate 261(Ray) 1 Offset 12 + MemberDecorate 261(Ray) 2 Offset 16 + MemberDecorate 261(Ray) 3 Offset 28 + Decorate 262 ArrayStride 32 + MemberDecorate 263(Rays) 0 Offset 0 + Decorate 263(Rays) BufferBlock + Decorate 265 DescriptorSet 0 + Decorate 265 Binding 2 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 @@ -85,333 +85,335 @@ rayQuery-allOps.comp 35: TypePointer Function 8(float) 37: 18(int) Constant 3 38: 8(float) Constant 1176255488 - 43: TypeRayQueryProvisionalKHR - 44: TypePointer Function 43 - 46: TypeAccelerationStructureKHR - 47: TypePointer UniformConstant 46 - 48(rtas): 47(ptr) Variable UniformConstant - 50: 14(int) Constant 255 - 66: TypeBool - 68: TypePointer Function 14(int) - 70: 66(bool) ConstantFalse - 77: TypeMatrix 9(fvec3) 4 - 78: TypePointer Function 77 - 81: TypeVector 8(float) 4 - 82: TypeMatrix 81(fvec4) 3 - 83: TypePointer Function 82 - 88: 66(bool) ConstantTrue - 93: TypeVector 8(float) 2 - 147: 8(float) Constant 1056964608 - 179: 14(int) Constant 1 - 202: 14(int) Constant 2 - 260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) - 261: TypeRuntimeArray 260(Ray) - 262(Rays): TypeStruct 261 - 263: TypePointer Uniform 262(Rays) - 264: 263(ptr) Variable Uniform + 45: TypeRayQueryProvisionalKHR + 46: TypePointer Function 45 + 48: TypeAccelerationStructureKHR + 49: TypePointer UniformConstant 48 + 50(rtas): 49(ptr) Variable UniformConstant + 52: 14(int) Constant 255 + 67: TypeBool + 69: TypePointer Function 14(int) + 71: 67(bool) ConstantFalse + 78: TypeMatrix 9(fvec3) 4 + 79: TypePointer Function 78 + 82: TypeVector 8(float) 4 + 83: TypeMatrix 82(fvec4) 3 + 84: TypePointer Function 83 + 89: 67(bool) ConstantTrue + 94: TypeVector 8(float) 2 + 148: 8(float) Constant 1056964608 + 180: 14(int) Constant 1 + 203: 14(int) Constant 2 + 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) + 262: TypeRuntimeArray 261(Ray) + 263(Rays): TypeStruct 262 + 264: TypePointer Uniform 263(Rays) + 265: 264(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 45(rayQuery): 44(ptr) Variable Function - 51(ray): 25(ptr) Variable Function -69(candidateType): 68(ptr) Variable Function - 79(_mat4x3): 78(ptr) Variable Function - 84(_mat3x4): 83(ptr) Variable Function - 146(t): 35(ptr) Variable Function -160(committedStatus): 68(ptr) Variable Function - 246(o): 29(ptr) Variable Function - 249(d): 29(ptr) Variable Function - 49: 46 Load 48(rtas) - 52: 29(ptr) AccessChain 51(ray) 19 - 53: 9(fvec3) Load 52 - 54: 35(ptr) AccessChain 51(ray) 23 - 55: 8(float) Load 54 - 56: 29(ptr) AccessChain 51(ray) 31 - 57: 9(fvec3) Load 56 - 58: 35(ptr) AccessChain 51(ray) 37 - 59: 8(float) Load 58 - RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 - Branch 60 - 60: Label - LoopMerge 62 63 None - Branch 64 - 64: Label - 65: 43 Load 45(rayQuery) - 67: 66(bool) RayQueryProceedKHR 65 - BranchConditional 67 61 62 - 61: Label - 71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 - Store 69(candidateType) 71 - 72: 14(int) Load 69(candidateType) - SelectionMerge 75 None - Switch 72 75 - case 0: 73 - case 1: 74 - 73: Label - 76: 43 Load 45(rayQuery) - RayQueryTerminateKHR 76 - 80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 80 - 85: 77 Load 79(_mat4x3) - 86: 82 Transpose 85 - Store 84(_mat3x4) 86 - 87: 43 Load 45(rayQuery) - RayQueryConfirmIntersectionKHR 87 - 89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 91 None - BranchConditional 89 90 91 - 90: Label - 92: 2 FunctionCall 6(doSomething() - Branch 91 - 91: Label - 94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 95: 8(float) CompositeExtract 94 0 - 96: 66(bool) FOrdEqual 95 27 - SelectionMerge 98 None - BranchConditional 96 97 98 - 97: Label - 99: 2 FunctionCall 6(doSomething() - Branch 98 - 98: Label - 100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 101: 66(bool) SGreaterThan 100 19 - SelectionMerge 103 None - BranchConditional 101 102 103 - 102: Label - 104: 2 FunctionCall 6(doSomething() - Branch 103 - 103: Label - 105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 106: 66(bool) SGreaterThan 105 19 - SelectionMerge 108 None - BranchConditional 106 107 108 - 107: Label - 109: 2 FunctionCall 6(doSomething() - Branch 108 - 108: Label - 110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 111: 8(float) CompositeExtract 110 0 - 112: 66(bool) FOrdGreaterThan 111 27 - SelectionMerge 114 None - BranchConditional 112 113 114 - 113: Label - 115: 2 FunctionCall 6(doSomething() - Branch 114 - 114: Label - 116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 117: 8(float) CompositeExtract 116 0 - 118: 66(bool) FOrdGreaterThan 117 27 - SelectionMerge 120 None - BranchConditional 118 119 120 - 119: Label - 121: 2 FunctionCall 6(doSomething() - Branch 120 - 120: Label - 122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 123: 66(bool) SGreaterThan 122 19 - SelectionMerge 125 None - BranchConditional 123 124 125 - 124: Label - 126: 2 FunctionCall 6(doSomething() - Branch 125 - 125: Label - 127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 128: 66(bool) FOrdGreaterThan 127 27 - SelectionMerge 130 None - BranchConditional 128 129 130 - 129: Label - 131: 2 FunctionCall 6(doSomething() - Branch 130 - 130: Label - 132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 - 133: 66(bool) UGreaterThan 132 20 - SelectionMerge 135 None - BranchConditional 133 134 135 - 134: Label - 136: 2 FunctionCall 6(doSomething() - Branch 135 - 135: Label - Branch 75 + 43(ray): 25(ptr) Variable Function + 47(rayQuery): 46(ptr) Variable Function +70(candidateType): 69(ptr) Variable Function + 80(_mat4x3): 79(ptr) Variable Function + 85(_mat3x4): 84(ptr) Variable Function + 147(t): 35(ptr) Variable Function +161(committedStatus): 69(ptr) Variable Function + 247(o): 29(ptr) Variable Function + 250(d): 29(ptr) Variable Function + 44: 10(Ray) FunctionCall 12(makeRayDesc() + Store 43(ray) 44 + 51: 48 Load 50(rtas) + 53: 29(ptr) AccessChain 43(ray) 19 + 54: 9(fvec3) Load 53 + 55: 35(ptr) AccessChain 43(ray) 23 + 56: 8(float) Load 55 + 57: 29(ptr) AccessChain 43(ray) 31 + 58: 9(fvec3) Load 57 + 59: 35(ptr) AccessChain 43(ray) 37 + 60: 8(float) Load 59 + RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60 + Branch 61 + 61: Label + LoopMerge 63 64 None + Branch 65 + 65: Label + 66: 45 Load 47(rayQuery) + 68: 67(bool) RayQueryProceedKHR 66 + BranchConditional 68 62 63 + 62: Label + 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19 + Store 70(candidateType) 72 + 73: 14(int) Load 70(candidateType) + SelectionMerge 76 None + Switch 73 76 + case 0: 74 + case 1: 75 74: Label - 138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 138 - 139: 77 Load 79(_mat4x3) - 140: 82 Transpose 139 - Store 84(_mat3x4) 140 - 141: 43 Load 45(rayQuery) - 142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 - SelectionMerge 144 None - BranchConditional 142 143 144 - 143: Label - 145: 2 FunctionCall 6(doSomething() - Branch 144 - 144: Label - Store 146(t) 147 - 148: 8(float) Load 146(t) - RayQueryGenerateIntersectionKHR 45(rayQuery) 148 - 149: 43 Load 45(rayQuery) - RayQueryTerminateKHR 149 - Branch 75 - 75: Label - Branch 63 - 63: Label - Branch 60 - 62: Label - 152: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 153: 8(float) Load 152 - 154: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 155: 8(float) Load 154 - 156: 66(bool) FOrdEqual 153 155 - SelectionMerge 158 None - BranchConditional 156 157 158 - 157: Label - 159: 2 FunctionCall 6(doSomething() - Branch 158 - 158: Label - 161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 - Store 160(committedStatus) 161 - 162: 14(int) Load 160(committedStatus) - SelectionMerge 166 None - Switch 162 166 - case 0: 163 - case 1: 164 - case 2: 165 - 163: Label - 167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 - Store 79(_mat4x3) 167 - 168: 77 Load 79(_mat4x3) - 169: 82 Transpose 168 - Store 84(_mat3x4) 169 - Branch 166 + 77: 45 Load 47(rayQuery) + RayQueryTerminateKHR 77 + 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19 + Store 80(_mat4x3) 81 + 86: 78 Load 80(_mat4x3) + 87: 83 Transpose 86 + Store 85(_mat3x4) 87 + 88: 45 Load 47(rayQuery) + RayQueryConfirmIntersectionKHR 88 + 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 92 None + BranchConditional 90 91 92 + 91: Label + 93: 2 FunctionCall 6(doSomething() + Branch 92 + 92: Label + 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 96: 8(float) CompositeExtract 95 0 + 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 + 64: Label + Branch 61 + 63: Label + 153: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 154: 8(float) Load 153 + 155: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 156: 8(float) Load 155 + 157: 67(bool) FOrdEqual 154 156 + SelectionMerge 159 None + BranchConditional 157 158 159 + 158: Label + 160: 2 FunctionCall 6(doSomething() + Branch 159 + 159: Label + 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23 + Store 161(committedStatus) 162 + 163: 14(int) Load 161(committedStatus) + SelectionMerge 167 None + Switch 163 167 + case 0: 164 + case 1: 165 + case 2: 166 164: Label - 171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 - Store 79(_mat4x3) 171 - 172: 77 Load 79(_mat4x3) - 173: 82 Transpose 172 - Store 84(_mat3x4) 173 - 174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 2 FunctionCall 6(doSomething() - Branch 176 - 176: Label - 178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 180: 8(float) CompositeExtract 178 1 - 181: 66(bool) FOrdEqual 180 27 - SelectionMerge 183 None - BranchConditional 181 182 183 - 182: Label - 184: 2 FunctionCall 6(doSomething() - Branch 183 - 183: Label - Branch 166 + 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19 + Store 80(_mat4x3) 168 + 169: 78 Load 80(_mat4x3) + 170: 83 Transpose 169 + Store 85(_mat3x4) 170 + Branch 167 165: Label - 186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 - 187: 66(bool) SGreaterThan 186 19 - SelectionMerge 189 None - BranchConditional 187 188 189 - 188: Label - 190: 2 FunctionCall 6(doSomething() - Branch 189 - 189: Label - 191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 192: 66(bool) SGreaterThan 191 19 - SelectionMerge 194 None - BranchConditional 192 193 194 - 193: Label - 195: 2 FunctionCall 6(doSomething() - Branch 194 - 194: Label - 196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 197: 66(bool) SGreaterThan 196 19 - SelectionMerge 199 None - BranchConditional 197 198 199 - 198: Label - 200: 2 FunctionCall 6(doSomething() - Branch 199 - 199: Label - 201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 203: 8(float) CompositeExtract 201 2 - 204: 66(bool) FOrdGreaterThan 203 27 - SelectionMerge 206 None - BranchConditional 204 205 206 - 205: Label - 207: 2 FunctionCall 6(doSomething() - Branch 206 - 206: Label - 208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 209: 8(float) CompositeExtract 208 0 - 210: 66(bool) FOrdGreaterThan 209 27 - SelectionMerge 212 None - BranchConditional 210 211 212 - 211: Label - 213: 2 FunctionCall 6(doSomething() - Branch 212 - 212: Label - 214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 215: 66(bool) SGreaterThan 214 19 - SelectionMerge 217 None - BranchConditional 215 216 217 - 216: Label - 218: 2 FunctionCall 6(doSomething() - Branch 217 - 217: Label - 219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 220: 66(bool) FOrdGreaterThan 219 27 - SelectionMerge 222 None - BranchConditional 220 221 222 - 221: Label - 223: 2 FunctionCall 6(doSomething() - Branch 222 - 222: Label - Branch 166 - 166: Label - 226: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 227: 8(float) Load 226 - 228: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 229: 8(float) Load 228 - 230: 66(bool) FOrdEqual 227 229 - SelectionMerge 232 None - BranchConditional 230 231 232 - 231: Label - 233: 2 FunctionCall 6(doSomething() - Branch 232 - 232: Label - 234: 43 Load 45(rayQuery) - 235: 14(int) RayQueryGetRayFlagsKHR 234 - 236: 66(bool) UGreaterThan 235 20 - SelectionMerge 238 None - BranchConditional 236 237 238 - 237: Label - 239: 2 FunctionCall 6(doSomething() - Branch 238 - 238: Label - 240: 43 Load 45(rayQuery) - 241: 8(float) RayQueryGetRayTMinKHR 240 - 242: 66(bool) FOrdGreaterThan 241 27 - SelectionMerge 244 None - BranchConditional 242 243 244 - 243: Label - 245: 2 FunctionCall 6(doSomething() - Branch 244 - 244: Label - 247: 43 Load 45(rayQuery) - 248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 - Store 246(o) 248 - 250: 43 Load 45(rayQuery) - 251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 - Store 249(d) 251 - 252: 35(ptr) AccessChain 246(o) 20 - 253: 8(float) Load 252 - 254: 35(ptr) AccessChain 249(d) 202 - 255: 8(float) Load 254 - 256: 66(bool) FOrdEqual 253 255 - SelectionMerge 258 None - BranchConditional 256 257 258 - 257: Label - 259: 2 FunctionCall 6(doSomething() - Branch 258 - 258: Label + 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23 + Store 80(_mat4x3) 172 + 173: 78 Load 80(_mat4x3) + 174: 83 Transpose 173 + Store 85(_mat3x4) 174 + 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 177 None + BranchConditional 175 176 177 + 176: Label + 178: 2 FunctionCall 6(doSomething() + Branch 177 + 177: Label + 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 181: 8(float) CompositeExtract 179 1 + 182: 67(bool) FOrdEqual 181 27 + SelectionMerge 184 None + BranchConditional 182 183 184 + 183: Label + 185: 2 FunctionCall 6(doSomething() + Branch 184 + 184: Label + Branch 167 + 166: Label + 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23 + 188: 67(bool) SGreaterThan 187 19 + SelectionMerge 190 None + BranchConditional 188 189 190 + 189: Label + 191: 2 FunctionCall 6(doSomething() + Branch 190 + 190: Label + 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23 + 193: 67(bool) SGreaterThan 192 19 + SelectionMerge 195 None + BranchConditional 193 194 195 + 194: Label + 196: 2 FunctionCall 6(doSomething() + Branch 195 + 195: Label + 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23 + 198: 67(bool) SGreaterThan 197 19 + SelectionMerge 200 None + BranchConditional 198 199 200 + 199: Label + 201: 2 FunctionCall 6(doSomething() + Branch 200 + 200: Label + 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23 + 204: 8(float) CompositeExtract 202 2 + 205: 67(bool) FOrdGreaterThan 204 27 + SelectionMerge 207 None + BranchConditional 205 206 207 + 206: Label + 208: 2 FunctionCall 6(doSomething() + Branch 207 + 207: Label + 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23 + 210: 8(float) CompositeExtract 209 0 + 211: 67(bool) FOrdGreaterThan 210 27 + SelectionMerge 213 None + BranchConditional 211 212 213 + 212: Label + 214: 2 FunctionCall 6(doSomething() + Branch 213 + 213: Label + 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23 + 216: 67(bool) SGreaterThan 215 19 + SelectionMerge 218 None + BranchConditional 216 217 218 + 217: Label + 219: 2 FunctionCall 6(doSomething() + Branch 218 + 218: Label + 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23 + 221: 67(bool) FOrdGreaterThan 220 27 + SelectionMerge 223 None + BranchConditional 221 222 223 + 222: Label + 224: 2 FunctionCall 6(doSomething() + Branch 223 + 223: Label + Branch 167 + 167: Label + 227: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 228: 8(float) Load 227 + 229: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 230: 8(float) Load 229 + 231: 67(bool) FOrdEqual 228 230 + SelectionMerge 233 None + BranchConditional 231 232 233 + 232: Label + 234: 2 FunctionCall 6(doSomething() + Branch 233 + 233: Label + 235: 45 Load 47(rayQuery) + 236: 14(int) RayQueryGetRayFlagsKHR 235 + 237: 67(bool) UGreaterThan 236 20 + SelectionMerge 239 None + BranchConditional 237 238 239 + 238: Label + 240: 2 FunctionCall 6(doSomething() + Branch 239 + 239: Label + 241: 45 Load 47(rayQuery) + 242: 8(float) RayQueryGetRayTMinKHR 241 + 243: 67(bool) FOrdGreaterThan 242 27 + SelectionMerge 245 None + BranchConditional 243 244 245 + 244: Label + 246: 2 FunctionCall 6(doSomething() + Branch 245 + 245: Label + 248: 45 Load 47(rayQuery) + 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248 + Store 247(o) 249 + 251: 45 Load 47(rayQuery) + 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251 + 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 FunctionEnd 6(doSomething(): 2 Function None 3 diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out index 87706a8..4016688 100644 --- a/Test/baseResults/rayQuery-allOps.frag.out +++ b/Test/baseResults/rayQuery-allOps.frag.out @@ -1,7 +1,7 @@ rayQuery-allOps.frag // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 265 +// Id's are bound by 266 Capability Shader Capability RayQueryProvisionalKHR @@ -26,40 +26,40 @@ rayQuery-allOps.frag MemberName 15(Log) 1 "y" Name 17 "" Name 26 "ray" - Name 45 "rayQuery" - Name 48 "rtas" - Name 51 "ray" - Name 69 "candidateType" - Name 79 "_mat4x3" - Name 84 "_mat3x4" - Name 146 "t" - Name 160 "committedStatus" - Name 246 "o" - Name 249 "d" - Name 260 "Ray" - MemberName 260(Ray) 0 "pos" - MemberName 260(Ray) 1 "tmin" - MemberName 260(Ray) 2 "dir" - MemberName 260(Ray) 3 "tmax" - Name 262 "Rays" - MemberName 262(Rays) 0 "rays" - Name 264 "" + Name 43 "ray" + Name 47 "rayQuery" + Name 50 "rtas" + Name 70 "candidateType" + Name 80 "_mat4x3" + Name 85 "_mat3x4" + Name 147 "t" + Name 161 "committedStatus" + Name 247 "o" + Name 250 "d" + Name 261 "Ray" + MemberName 261(Ray) 0 "pos" + MemberName 261(Ray) 1 "tmin" + MemberName 261(Ray) 2 "dir" + MemberName 261(Ray) 3 "tmax" + Name 263 "Rays" + MemberName 263(Rays) 0 "rays" + Name 265 "" MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 Decorate 15(Log) BufferBlock Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 48(rtas) DescriptorSet 0 - Decorate 48(rtas) Binding 1 - MemberDecorate 260(Ray) 0 Offset 0 - MemberDecorate 260(Ray) 1 Offset 12 - MemberDecorate 260(Ray) 2 Offset 16 - MemberDecorate 260(Ray) 3 Offset 28 - Decorate 261 ArrayStride 32 - MemberDecorate 262(Rays) 0 Offset 0 - Decorate 262(Rays) BufferBlock - Decorate 264 DescriptorSet 0 - Decorate 264 Binding 2 + Decorate 50(rtas) DescriptorSet 0 + Decorate 50(rtas) Binding 1 + MemberDecorate 261(Ray) 0 Offset 0 + MemberDecorate 261(Ray) 1 Offset 12 + MemberDecorate 261(Ray) 2 Offset 16 + MemberDecorate 261(Ray) 3 Offset 28 + Decorate 262 ArrayStride 32 + MemberDecorate 263(Rays) 0 Offset 0 + Decorate 263(Rays) BufferBlock + Decorate 265 DescriptorSet 0 + Decorate 265 Binding 2 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 @@ -85,333 +85,335 @@ rayQuery-allOps.frag 35: TypePointer Function 8(float) 37: 18(int) Constant 3 38: 8(float) Constant 1176255488 - 43: TypeRayQueryProvisionalKHR - 44: TypePointer Function 43 - 46: TypeAccelerationStructureKHR - 47: TypePointer UniformConstant 46 - 48(rtas): 47(ptr) Variable UniformConstant - 50: 14(int) Constant 255 - 66: TypeBool - 68: TypePointer Function 14(int) - 70: 66(bool) ConstantFalse - 77: TypeMatrix 9(fvec3) 4 - 78: TypePointer Function 77 - 81: TypeVector 8(float) 4 - 82: TypeMatrix 81(fvec4) 3 - 83: TypePointer Function 82 - 88: 66(bool) ConstantTrue - 93: TypeVector 8(float) 2 - 147: 8(float) Constant 1056964608 - 179: 14(int) Constant 1 - 202: 14(int) Constant 2 - 260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) - 261: TypeRuntimeArray 260(Ray) - 262(Rays): TypeStruct 261 - 263: TypePointer Uniform 262(Rays) - 264: 263(ptr) Variable Uniform + 45: TypeRayQueryProvisionalKHR + 46: TypePointer Function 45 + 48: TypeAccelerationStructureKHR + 49: TypePointer UniformConstant 48 + 50(rtas): 49(ptr) Variable UniformConstant + 52: 14(int) Constant 255 + 67: TypeBool + 69: TypePointer Function 14(int) + 71: 67(bool) ConstantFalse + 78: TypeMatrix 9(fvec3) 4 + 79: TypePointer Function 78 + 82: TypeVector 8(float) 4 + 83: TypeMatrix 82(fvec4) 3 + 84: TypePointer Function 83 + 89: 67(bool) ConstantTrue + 94: TypeVector 8(float) 2 + 148: 8(float) Constant 1056964608 + 180: 14(int) Constant 1 + 203: 14(int) Constant 2 + 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) + 262: TypeRuntimeArray 261(Ray) + 263(Rays): TypeStruct 262 + 264: TypePointer Uniform 263(Rays) + 265: 264(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 45(rayQuery): 44(ptr) Variable Function - 51(ray): 25(ptr) Variable Function -69(candidateType): 68(ptr) Variable Function - 79(_mat4x3): 78(ptr) Variable Function - 84(_mat3x4): 83(ptr) Variable Function - 146(t): 35(ptr) Variable Function -160(committedStatus): 68(ptr) Variable Function - 246(o): 29(ptr) Variable Function - 249(d): 29(ptr) Variable Function - 49: 46 Load 48(rtas) - 52: 29(ptr) AccessChain 51(ray) 19 - 53: 9(fvec3) Load 52 - 54: 35(ptr) AccessChain 51(ray) 23 - 55: 8(float) Load 54 - 56: 29(ptr) AccessChain 51(ray) 31 - 57: 9(fvec3) Load 56 - 58: 35(ptr) AccessChain 51(ray) 37 - 59: 8(float) Load 58 - RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 - Branch 60 - 60: Label - LoopMerge 62 63 None - Branch 64 - 64: Label - 65: 43 Load 45(rayQuery) - 67: 66(bool) RayQueryProceedKHR 65 - BranchConditional 67 61 62 - 61: Label - 71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 - Store 69(candidateType) 71 - 72: 14(int) Load 69(candidateType) - SelectionMerge 75 None - Switch 72 75 - case 0: 73 - case 1: 74 - 73: Label - 76: 43 Load 45(rayQuery) - RayQueryTerminateKHR 76 - 80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 80 - 85: 77 Load 79(_mat4x3) - 86: 82 Transpose 85 - Store 84(_mat3x4) 86 - 87: 43 Load 45(rayQuery) - RayQueryConfirmIntersectionKHR 87 - 89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 91 None - BranchConditional 89 90 91 - 90: Label - 92: 2 FunctionCall 6(doSomething() - Branch 91 - 91: Label - 94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 95: 8(float) CompositeExtract 94 0 - 96: 66(bool) FOrdEqual 95 27 - SelectionMerge 98 None - BranchConditional 96 97 98 - 97: Label - 99: 2 FunctionCall 6(doSomething() - Branch 98 - 98: Label - 100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 101: 66(bool) SGreaterThan 100 19 - SelectionMerge 103 None - BranchConditional 101 102 103 - 102: Label - 104: 2 FunctionCall 6(doSomething() - Branch 103 - 103: Label - 105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 106: 66(bool) SGreaterThan 105 19 - SelectionMerge 108 None - BranchConditional 106 107 108 - 107: Label - 109: 2 FunctionCall 6(doSomething() - Branch 108 - 108: Label - 110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 111: 8(float) CompositeExtract 110 0 - 112: 66(bool) FOrdGreaterThan 111 27 - SelectionMerge 114 None - BranchConditional 112 113 114 - 113: Label - 115: 2 FunctionCall 6(doSomething() - Branch 114 - 114: Label - 116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 117: 8(float) CompositeExtract 116 0 - 118: 66(bool) FOrdGreaterThan 117 27 - SelectionMerge 120 None - BranchConditional 118 119 120 - 119: Label - 121: 2 FunctionCall 6(doSomething() - Branch 120 - 120: Label - 122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 123: 66(bool) SGreaterThan 122 19 - SelectionMerge 125 None - BranchConditional 123 124 125 - 124: Label - 126: 2 FunctionCall 6(doSomething() - Branch 125 - 125: Label - 127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 128: 66(bool) FOrdGreaterThan 127 27 - SelectionMerge 130 None - BranchConditional 128 129 130 - 129: Label - 131: 2 FunctionCall 6(doSomething() - Branch 130 - 130: Label - 132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 - 133: 66(bool) UGreaterThan 132 20 - SelectionMerge 135 None - BranchConditional 133 134 135 - 134: Label - 136: 2 FunctionCall 6(doSomething() - Branch 135 - 135: Label - Branch 75 + 43(ray): 25(ptr) Variable Function + 47(rayQuery): 46(ptr) Variable Function +70(candidateType): 69(ptr) Variable Function + 80(_mat4x3): 79(ptr) Variable Function + 85(_mat3x4): 84(ptr) Variable Function + 147(t): 35(ptr) Variable Function +161(committedStatus): 69(ptr) Variable Function + 247(o): 29(ptr) Variable Function + 250(d): 29(ptr) Variable Function + 44: 10(Ray) FunctionCall 12(makeRayDesc() + Store 43(ray) 44 + 51: 48 Load 50(rtas) + 53: 29(ptr) AccessChain 43(ray) 19 + 54: 9(fvec3) Load 53 + 55: 35(ptr) AccessChain 43(ray) 23 + 56: 8(float) Load 55 + 57: 29(ptr) AccessChain 43(ray) 31 + 58: 9(fvec3) Load 57 + 59: 35(ptr) AccessChain 43(ray) 37 + 60: 8(float) Load 59 + RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60 + Branch 61 + 61: Label + LoopMerge 63 64 None + Branch 65 + 65: Label + 66: 45 Load 47(rayQuery) + 68: 67(bool) RayQueryProceedKHR 66 + BranchConditional 68 62 63 + 62: Label + 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19 + Store 70(candidateType) 72 + 73: 14(int) Load 70(candidateType) + SelectionMerge 76 None + Switch 73 76 + case 0: 74 + case 1: 75 74: Label - 138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 138 - 139: 77 Load 79(_mat4x3) - 140: 82 Transpose 139 - Store 84(_mat3x4) 140 - 141: 43 Load 45(rayQuery) - 142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 - SelectionMerge 144 None - BranchConditional 142 143 144 - 143: Label - 145: 2 FunctionCall 6(doSomething() - Branch 144 - 144: Label - Store 146(t) 147 - 148: 8(float) Load 146(t) - RayQueryGenerateIntersectionKHR 45(rayQuery) 148 - 149: 43 Load 45(rayQuery) - RayQueryTerminateKHR 149 - Branch 75 - 75: Label - Branch 63 - 63: Label - Branch 60 - 62: Label - 152: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 153: 8(float) Load 152 - 154: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 155: 8(float) Load 154 - 156: 66(bool) FOrdEqual 153 155 - SelectionMerge 158 None - BranchConditional 156 157 158 - 157: Label - 159: 2 FunctionCall 6(doSomething() - Branch 158 - 158: Label - 161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 - Store 160(committedStatus) 161 - 162: 14(int) Load 160(committedStatus) - SelectionMerge 166 None - Switch 162 166 - case 0: 163 - case 1: 164 - case 2: 165 - 163: Label - 167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 - Store 79(_mat4x3) 167 - 168: 77 Load 79(_mat4x3) - 169: 82 Transpose 168 - Store 84(_mat3x4) 169 - Branch 166 + 77: 45 Load 47(rayQuery) + RayQueryTerminateKHR 77 + 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19 + Store 80(_mat4x3) 81 + 86: 78 Load 80(_mat4x3) + 87: 83 Transpose 86 + Store 85(_mat3x4) 87 + 88: 45 Load 47(rayQuery) + RayQueryConfirmIntersectionKHR 88 + 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 92 None + BranchConditional 90 91 92 + 91: Label + 93: 2 FunctionCall 6(doSomething() + Branch 92 + 92: Label + 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 96: 8(float) CompositeExtract 95 0 + 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 + 64: Label + Branch 61 + 63: Label + 153: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 154: 8(float) Load 153 + 155: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 156: 8(float) Load 155 + 157: 67(bool) FOrdEqual 154 156 + SelectionMerge 159 None + BranchConditional 157 158 159 + 158: Label + 160: 2 FunctionCall 6(doSomething() + Branch 159 + 159: Label + 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23 + Store 161(committedStatus) 162 + 163: 14(int) Load 161(committedStatus) + SelectionMerge 167 None + Switch 163 167 + case 0: 164 + case 1: 165 + case 2: 166 164: Label - 171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 - Store 79(_mat4x3) 171 - 172: 77 Load 79(_mat4x3) - 173: 82 Transpose 172 - Store 84(_mat3x4) 173 - 174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 2 FunctionCall 6(doSomething() - Branch 176 - 176: Label - 178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 180: 8(float) CompositeExtract 178 1 - 181: 66(bool) FOrdEqual 180 27 - SelectionMerge 183 None - BranchConditional 181 182 183 - 182: Label - 184: 2 FunctionCall 6(doSomething() - Branch 183 - 183: Label - Branch 166 + 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19 + Store 80(_mat4x3) 168 + 169: 78 Load 80(_mat4x3) + 170: 83 Transpose 169 + Store 85(_mat3x4) 170 + Branch 167 165: Label - 186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 - 187: 66(bool) SGreaterThan 186 19 - SelectionMerge 189 None - BranchConditional 187 188 189 - 188: Label - 190: 2 FunctionCall 6(doSomething() - Branch 189 - 189: Label - 191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 192: 66(bool) SGreaterThan 191 19 - SelectionMerge 194 None - BranchConditional 192 193 194 - 193: Label - 195: 2 FunctionCall 6(doSomething() - Branch 194 - 194: Label - 196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 197: 66(bool) SGreaterThan 196 19 - SelectionMerge 199 None - BranchConditional 197 198 199 - 198: Label - 200: 2 FunctionCall 6(doSomething() - Branch 199 - 199: Label - 201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 203: 8(float) CompositeExtract 201 2 - 204: 66(bool) FOrdGreaterThan 203 27 - SelectionMerge 206 None - BranchConditional 204 205 206 - 205: Label - 207: 2 FunctionCall 6(doSomething() - Branch 206 - 206: Label - 208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 209: 8(float) CompositeExtract 208 0 - 210: 66(bool) FOrdGreaterThan 209 27 - SelectionMerge 212 None - BranchConditional 210 211 212 - 211: Label - 213: 2 FunctionCall 6(doSomething() - Branch 212 - 212: Label - 214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 215: 66(bool) SGreaterThan 214 19 - SelectionMerge 217 None - BranchConditional 215 216 217 - 216: Label - 218: 2 FunctionCall 6(doSomething() - Branch 217 - 217: Label - 219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 220: 66(bool) FOrdGreaterThan 219 27 - SelectionMerge 222 None - BranchConditional 220 221 222 - 221: Label - 223: 2 FunctionCall 6(doSomething() - Branch 222 - 222: Label - Branch 166 - 166: Label - 226: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 227: 8(float) Load 226 - 228: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 229: 8(float) Load 228 - 230: 66(bool) FOrdEqual 227 229 - SelectionMerge 232 None - BranchConditional 230 231 232 - 231: Label - 233: 2 FunctionCall 6(doSomething() - Branch 232 - 232: Label - 234: 43 Load 45(rayQuery) - 235: 14(int) RayQueryGetRayFlagsKHR 234 - 236: 66(bool) UGreaterThan 235 20 - SelectionMerge 238 None - BranchConditional 236 237 238 - 237: Label - 239: 2 FunctionCall 6(doSomething() - Branch 238 - 238: Label - 240: 43 Load 45(rayQuery) - 241: 8(float) RayQueryGetRayTMinKHR 240 - 242: 66(bool) FOrdGreaterThan 241 27 - SelectionMerge 244 None - BranchConditional 242 243 244 - 243: Label - 245: 2 FunctionCall 6(doSomething() - Branch 244 - 244: Label - 247: 43 Load 45(rayQuery) - 248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 - Store 246(o) 248 - 250: 43 Load 45(rayQuery) - 251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 - Store 249(d) 251 - 252: 35(ptr) AccessChain 246(o) 20 - 253: 8(float) Load 252 - 254: 35(ptr) AccessChain 249(d) 202 - 255: 8(float) Load 254 - 256: 66(bool) FOrdEqual 253 255 - SelectionMerge 258 None - BranchConditional 256 257 258 - 257: Label - 259: 2 FunctionCall 6(doSomething() - Branch 258 - 258: Label + 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23 + Store 80(_mat4x3) 172 + 173: 78 Load 80(_mat4x3) + 174: 83 Transpose 173 + Store 85(_mat3x4) 174 + 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 177 None + BranchConditional 175 176 177 + 176: Label + 178: 2 FunctionCall 6(doSomething() + Branch 177 + 177: Label + 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 181: 8(float) CompositeExtract 179 1 + 182: 67(bool) FOrdEqual 181 27 + SelectionMerge 184 None + BranchConditional 182 183 184 + 183: Label + 185: 2 FunctionCall 6(doSomething() + Branch 184 + 184: Label + Branch 167 + 166: Label + 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23 + 188: 67(bool) SGreaterThan 187 19 + SelectionMerge 190 None + BranchConditional 188 189 190 + 189: Label + 191: 2 FunctionCall 6(doSomething() + Branch 190 + 190: Label + 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23 + 193: 67(bool) SGreaterThan 192 19 + SelectionMerge 195 None + BranchConditional 193 194 195 + 194: Label + 196: 2 FunctionCall 6(doSomething() + Branch 195 + 195: Label + 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23 + 198: 67(bool) SGreaterThan 197 19 + SelectionMerge 200 None + BranchConditional 198 199 200 + 199: Label + 201: 2 FunctionCall 6(doSomething() + Branch 200 + 200: Label + 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23 + 204: 8(float) CompositeExtract 202 2 + 205: 67(bool) FOrdGreaterThan 204 27 + SelectionMerge 207 None + BranchConditional 205 206 207 + 206: Label + 208: 2 FunctionCall 6(doSomething() + Branch 207 + 207: Label + 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23 + 210: 8(float) CompositeExtract 209 0 + 211: 67(bool) FOrdGreaterThan 210 27 + SelectionMerge 213 None + BranchConditional 211 212 213 + 212: Label + 214: 2 FunctionCall 6(doSomething() + Branch 213 + 213: Label + 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23 + 216: 67(bool) SGreaterThan 215 19 + SelectionMerge 218 None + BranchConditional 216 217 218 + 217: Label + 219: 2 FunctionCall 6(doSomething() + Branch 218 + 218: Label + 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23 + 221: 67(bool) FOrdGreaterThan 220 27 + SelectionMerge 223 None + BranchConditional 221 222 223 + 222: Label + 224: 2 FunctionCall 6(doSomething() + Branch 223 + 223: Label + Branch 167 + 167: Label + 227: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 228: 8(float) Load 227 + 229: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 230: 8(float) Load 229 + 231: 67(bool) FOrdEqual 228 230 + SelectionMerge 233 None + BranchConditional 231 232 233 + 232: Label + 234: 2 FunctionCall 6(doSomething() + Branch 233 + 233: Label + 235: 45 Load 47(rayQuery) + 236: 14(int) RayQueryGetRayFlagsKHR 235 + 237: 67(bool) UGreaterThan 236 20 + SelectionMerge 239 None + BranchConditional 237 238 239 + 238: Label + 240: 2 FunctionCall 6(doSomething() + Branch 239 + 239: Label + 241: 45 Load 47(rayQuery) + 242: 8(float) RayQueryGetRayTMinKHR 241 + 243: 67(bool) FOrdGreaterThan 242 27 + SelectionMerge 245 None + BranchConditional 243 244 245 + 244: Label + 246: 2 FunctionCall 6(doSomething() + Branch 245 + 245: Label + 248: 45 Load 47(rayQuery) + 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248 + Store 247(o) 249 + 251: 45 Load 47(rayQuery) + 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251 + 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 FunctionEnd 6(doSomething(): 2 Function None 3 diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out index 826094c..0d84235 100644 --- a/Test/baseResults/rayQuery-allOps.rgen.out +++ b/Test/baseResults/rayQuery-allOps.rgen.out @@ -1,7 +1,7 @@ rayQuery-allOps.rgen // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 265 +// Id's are bound by 266 Capability RayQueryProvisionalKHR Capability RayTracingNV @@ -26,40 +26,40 @@ rayQuery-allOps.rgen MemberName 15(Log) 1 "y" Name 17 "" Name 26 "ray" - Name 45 "rayQuery" - Name 48 "rtas" - Name 51 "ray" - Name 69 "candidateType" - Name 79 "_mat4x3" - Name 84 "_mat3x4" - Name 146 "t" - Name 160 "committedStatus" - Name 246 "o" - Name 249 "d" - Name 260 "Ray" - MemberName 260(Ray) 0 "pos" - MemberName 260(Ray) 1 "tmin" - MemberName 260(Ray) 2 "dir" - MemberName 260(Ray) 3 "tmax" - Name 262 "Rays" - MemberName 262(Rays) 0 "rays" - Name 264 "" + Name 43 "ray" + Name 47 "rayQuery" + Name 50 "rtas" + Name 70 "candidateType" + Name 80 "_mat4x3" + Name 85 "_mat3x4" + Name 147 "t" + Name 161 "committedStatus" + Name 247 "o" + Name 250 "d" + Name 261 "Ray" + MemberName 261(Ray) 0 "pos" + MemberName 261(Ray) 1 "tmin" + MemberName 261(Ray) 2 "dir" + MemberName 261(Ray) 3 "tmax" + Name 263 "Rays" + MemberName 263(Rays) 0 "rays" + Name 265 "" MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 Decorate 15(Log) BufferBlock Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 48(rtas) DescriptorSet 0 - Decorate 48(rtas) Binding 1 - MemberDecorate 260(Ray) 0 Offset 0 - MemberDecorate 260(Ray) 1 Offset 12 - MemberDecorate 260(Ray) 2 Offset 16 - MemberDecorate 260(Ray) 3 Offset 28 - Decorate 261 ArrayStride 32 - MemberDecorate 262(Rays) 0 Offset 0 - Decorate 262(Rays) BufferBlock - Decorate 264 DescriptorSet 0 - Decorate 264 Binding 2 + Decorate 50(rtas) DescriptorSet 0 + Decorate 50(rtas) Binding 1 + MemberDecorate 261(Ray) 0 Offset 0 + MemberDecorate 261(Ray) 1 Offset 12 + MemberDecorate 261(Ray) 2 Offset 16 + MemberDecorate 261(Ray) 3 Offset 28 + Decorate 262 ArrayStride 32 + MemberDecorate 263(Rays) 0 Offset 0 + Decorate 263(Rays) BufferBlock + Decorate 265 DescriptorSet 0 + Decorate 265 Binding 2 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 @@ -85,333 +85,335 @@ rayQuery-allOps.rgen 35: TypePointer Function 8(float) 37: 18(int) Constant 3 38: 8(float) Constant 1176255488 - 43: TypeRayQueryProvisionalKHR - 44: TypePointer Function 43 - 46: TypeAccelerationStructureKHR - 47: TypePointer UniformConstant 46 - 48(rtas): 47(ptr) Variable UniformConstant - 50: 14(int) Constant 255 - 66: TypeBool - 68: TypePointer Function 14(int) - 70: 66(bool) ConstantFalse - 77: TypeMatrix 9(fvec3) 4 - 78: TypePointer Function 77 - 81: TypeVector 8(float) 4 - 82: TypeMatrix 81(fvec4) 3 - 83: TypePointer Function 82 - 88: 66(bool) ConstantTrue - 93: TypeVector 8(float) 2 - 147: 8(float) Constant 1056964608 - 179: 14(int) Constant 1 - 202: 14(int) Constant 2 - 260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) - 261: TypeRuntimeArray 260(Ray) - 262(Rays): TypeStruct 261 - 263: TypePointer Uniform 262(Rays) - 264: 263(ptr) Variable Uniform + 45: TypeRayQueryProvisionalKHR + 46: TypePointer Function 45 + 48: TypeAccelerationStructureKHR + 49: TypePointer UniformConstant 48 + 50(rtas): 49(ptr) Variable UniformConstant + 52: 14(int) Constant 255 + 67: TypeBool + 69: TypePointer Function 14(int) + 71: 67(bool) ConstantFalse + 78: TypeMatrix 9(fvec3) 4 + 79: TypePointer Function 78 + 82: TypeVector 8(float) 4 + 83: TypeMatrix 82(fvec4) 3 + 84: TypePointer Function 83 + 89: 67(bool) ConstantTrue + 94: TypeVector 8(float) 2 + 148: 8(float) Constant 1056964608 + 180: 14(int) Constant 1 + 203: 14(int) Constant 2 + 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) + 262: TypeRuntimeArray 261(Ray) + 263(Rays): TypeStruct 262 + 264: TypePointer Uniform 263(Rays) + 265: 264(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label - 45(rayQuery): 44(ptr) Variable Function - 51(ray): 25(ptr) Variable Function -69(candidateType): 68(ptr) Variable Function - 79(_mat4x3): 78(ptr) Variable Function - 84(_mat3x4): 83(ptr) Variable Function - 146(t): 35(ptr) Variable Function -160(committedStatus): 68(ptr) Variable Function - 246(o): 29(ptr) Variable Function - 249(d): 29(ptr) Variable Function - 49: 46 Load 48(rtas) - 52: 29(ptr) AccessChain 51(ray) 19 - 53: 9(fvec3) Load 52 - 54: 35(ptr) AccessChain 51(ray) 23 - 55: 8(float) Load 54 - 56: 29(ptr) AccessChain 51(ray) 31 - 57: 9(fvec3) Load 56 - 58: 35(ptr) AccessChain 51(ray) 37 - 59: 8(float) Load 58 - RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 - Branch 60 - 60: Label - LoopMerge 62 63 None - Branch 64 - 64: Label - 65: 43 Load 45(rayQuery) - 67: 66(bool) RayQueryProceedKHR 65 - BranchConditional 67 61 62 - 61: Label - 71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 - Store 69(candidateType) 71 - 72: 14(int) Load 69(candidateType) - SelectionMerge 75 None - Switch 72 75 - case 0: 73 - case 1: 74 - 73: Label - 76: 43 Load 45(rayQuery) - RayQueryTerminateKHR 76 - 80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 80 - 85: 77 Load 79(_mat4x3) - 86: 82 Transpose 85 - Store 84(_mat3x4) 86 - 87: 43 Load 45(rayQuery) - RayQueryConfirmIntersectionKHR 87 - 89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 91 None - BranchConditional 89 90 91 - 90: Label - 92: 2 FunctionCall 6(doSomething() - Branch 91 - 91: Label - 94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 95: 8(float) CompositeExtract 94 0 - 96: 66(bool) FOrdEqual 95 27 - SelectionMerge 98 None - BranchConditional 96 97 98 - 97: Label - 99: 2 FunctionCall 6(doSomething() - Branch 98 - 98: Label - 100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 101: 66(bool) SGreaterThan 100 19 - SelectionMerge 103 None - BranchConditional 101 102 103 - 102: Label - 104: 2 FunctionCall 6(doSomething() - Branch 103 - 103: Label - 105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 106: 66(bool) SGreaterThan 105 19 - SelectionMerge 108 None - BranchConditional 106 107 108 - 107: Label - 109: 2 FunctionCall 6(doSomething() - Branch 108 - 108: Label - 110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 111: 8(float) CompositeExtract 110 0 - 112: 66(bool) FOrdGreaterThan 111 27 - SelectionMerge 114 None - BranchConditional 112 113 114 - 113: Label - 115: 2 FunctionCall 6(doSomething() - Branch 114 - 114: Label - 116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 117: 8(float) CompositeExtract 116 0 - 118: 66(bool) FOrdGreaterThan 117 27 - SelectionMerge 120 None - BranchConditional 118 119 120 - 119: Label - 121: 2 FunctionCall 6(doSomething() - Branch 120 - 120: Label - 122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 123: 66(bool) SGreaterThan 122 19 - SelectionMerge 125 None - BranchConditional 123 124 125 - 124: Label - 126: 2 FunctionCall 6(doSomething() - Branch 125 - 125: Label - 127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 128: 66(bool) FOrdGreaterThan 127 27 - SelectionMerge 130 None - BranchConditional 128 129 130 - 129: Label - 131: 2 FunctionCall 6(doSomething() - Branch 130 - 130: Label - 132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 - 133: 66(bool) UGreaterThan 132 20 - SelectionMerge 135 None - BranchConditional 133 134 135 - 134: Label - 136: 2 FunctionCall 6(doSomething() - Branch 135 - 135: Label - Branch 75 + 43(ray): 25(ptr) Variable Function + 47(rayQuery): 46(ptr) Variable Function +70(candidateType): 69(ptr) Variable Function + 80(_mat4x3): 79(ptr) Variable Function + 85(_mat3x4): 84(ptr) Variable Function + 147(t): 35(ptr) Variable Function +161(committedStatus): 69(ptr) Variable Function + 247(o): 29(ptr) Variable Function + 250(d): 29(ptr) Variable Function + 44: 10(Ray) FunctionCall 12(makeRayDesc() + Store 43(ray) 44 + 51: 48 Load 50(rtas) + 53: 29(ptr) AccessChain 43(ray) 19 + 54: 9(fvec3) Load 53 + 55: 35(ptr) AccessChain 43(ray) 23 + 56: 8(float) Load 55 + 57: 29(ptr) AccessChain 43(ray) 31 + 58: 9(fvec3) Load 57 + 59: 35(ptr) AccessChain 43(ray) 37 + 60: 8(float) Load 59 + RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60 + Branch 61 + 61: Label + LoopMerge 63 64 None + Branch 65 + 65: Label + 66: 45 Load 47(rayQuery) + 68: 67(bool) RayQueryProceedKHR 66 + BranchConditional 68 62 63 + 62: Label + 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19 + Store 70(candidateType) 72 + 73: 14(int) Load 70(candidateType) + SelectionMerge 76 None + Switch 73 76 + case 0: 74 + case 1: 75 74: Label - 138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 - Store 79(_mat4x3) 138 - 139: 77 Load 79(_mat4x3) - 140: 82 Transpose 139 - Store 84(_mat3x4) 140 - 141: 43 Load 45(rayQuery) - 142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 - SelectionMerge 144 None - BranchConditional 142 143 144 - 143: Label - 145: 2 FunctionCall 6(doSomething() - Branch 144 - 144: Label - Store 146(t) 147 - 148: 8(float) Load 146(t) - RayQueryGenerateIntersectionKHR 45(rayQuery) 148 - 149: 43 Load 45(rayQuery) - RayQueryTerminateKHR 149 - Branch 75 - 75: Label - Branch 63 - 63: Label - Branch 60 - 62: Label - 152: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 153: 8(float) Load 152 - 154: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 155: 8(float) Load 154 - 156: 66(bool) FOrdEqual 153 155 - SelectionMerge 158 None - BranchConditional 156 157 158 - 157: Label - 159: 2 FunctionCall 6(doSomething() - Branch 158 - 158: Label - 161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 - Store 160(committedStatus) 161 - 162: 14(int) Load 160(committedStatus) - SelectionMerge 166 None - Switch 162 166 - case 0: 163 - case 1: 164 - case 2: 165 - 163: Label - 167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 - Store 79(_mat4x3) 167 - 168: 77 Load 79(_mat4x3) - 169: 82 Transpose 168 - Store 84(_mat3x4) 169 - Branch 166 + 77: 45 Load 47(rayQuery) + RayQueryTerminateKHR 77 + 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19 + Store 80(_mat4x3) 81 + 86: 78 Load 80(_mat4x3) + 87: 83 Transpose 86 + Store 85(_mat3x4) 87 + 88: 45 Load 47(rayQuery) + RayQueryConfirmIntersectionKHR 88 + 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 92 None + BranchConditional 90 91 92 + 91: Label + 93: 2 FunctionCall 6(doSomething() + Branch 92 + 92: Label + 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 96: 8(float) CompositeExtract 95 0 + 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 + 64: Label + Branch 61 + 63: Label + 153: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 154: 8(float) Load 153 + 155: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 156: 8(float) Load 155 + 157: 67(bool) FOrdEqual 154 156 + SelectionMerge 159 None + BranchConditional 157 158 159 + 158: Label + 160: 2 FunctionCall 6(doSomething() + Branch 159 + 159: Label + 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23 + Store 161(committedStatus) 162 + 163: 14(int) Load 161(committedStatus) + SelectionMerge 167 None + Switch 163 167 + case 0: 164 + case 1: 165 + case 2: 166 164: Label - 171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 - Store 79(_mat4x3) 171 - 172: 77 Load 79(_mat4x3) - 173: 82 Transpose 172 - Store 84(_mat3x4) 173 - 174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 2 FunctionCall 6(doSomething() - Branch 176 - 176: Label - 178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 - 180: 8(float) CompositeExtract 178 1 - 181: 66(bool) FOrdEqual 180 27 - SelectionMerge 183 None - BranchConditional 181 182 183 - 182: Label - 184: 2 FunctionCall 6(doSomething() - Branch 183 - 183: Label - Branch 166 + 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19 + Store 80(_mat4x3) 168 + 169: 78 Load 80(_mat4x3) + 170: 83 Transpose 169 + Store 85(_mat3x4) 170 + Branch 167 165: Label - 186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 - 187: 66(bool) SGreaterThan 186 19 - SelectionMerge 189 None - BranchConditional 187 188 189 - 188: Label - 190: 2 FunctionCall 6(doSomething() - Branch 189 - 189: Label - 191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 - 192: 66(bool) SGreaterThan 191 19 - SelectionMerge 194 None - BranchConditional 192 193 194 - 193: Label - 195: 2 FunctionCall 6(doSomething() - Branch 194 - 194: Label - 196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 - 197: 66(bool) SGreaterThan 196 19 - SelectionMerge 199 None - BranchConditional 197 198 199 - 198: Label - 200: 2 FunctionCall 6(doSomething() - Branch 199 - 199: Label - 201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 - 203: 8(float) CompositeExtract 201 2 - 204: 66(bool) FOrdGreaterThan 203 27 - SelectionMerge 206 None - BranchConditional 204 205 206 - 205: Label - 207: 2 FunctionCall 6(doSomething() - Branch 206 - 206: Label - 208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 - 209: 8(float) CompositeExtract 208 0 - 210: 66(bool) FOrdGreaterThan 209 27 - SelectionMerge 212 None - BranchConditional 210 211 212 - 211: Label - 213: 2 FunctionCall 6(doSomething() - Branch 212 - 212: Label - 214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 - 215: 66(bool) SGreaterThan 214 19 - SelectionMerge 217 None - BranchConditional 215 216 217 - 216: Label - 218: 2 FunctionCall 6(doSomething() - Branch 217 - 217: Label - 219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 - 220: 66(bool) FOrdGreaterThan 219 27 - SelectionMerge 222 None - BranchConditional 220 221 222 - 221: Label - 223: 2 FunctionCall 6(doSomething() - Branch 222 - 222: Label - Branch 166 - 166: Label - 226: 35(ptr) AccessChain 84(_mat3x4) 19 20 - 227: 8(float) Load 226 - 228: 35(ptr) AccessChain 79(_mat4x3) 19 20 - 229: 8(float) Load 228 - 230: 66(bool) FOrdEqual 227 229 - SelectionMerge 232 None - BranchConditional 230 231 232 - 231: Label - 233: 2 FunctionCall 6(doSomething() - Branch 232 - 232: Label - 234: 43 Load 45(rayQuery) - 235: 14(int) RayQueryGetRayFlagsKHR 234 - 236: 66(bool) UGreaterThan 235 20 - SelectionMerge 238 None - BranchConditional 236 237 238 - 237: Label - 239: 2 FunctionCall 6(doSomething() - Branch 238 - 238: Label - 240: 43 Load 45(rayQuery) - 241: 8(float) RayQueryGetRayTMinKHR 240 - 242: 66(bool) FOrdGreaterThan 241 27 - SelectionMerge 244 None - BranchConditional 242 243 244 - 243: Label - 245: 2 FunctionCall 6(doSomething() - Branch 244 - 244: Label - 247: 43 Load 45(rayQuery) - 248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 - Store 246(o) 248 - 250: 43 Load 45(rayQuery) - 251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 - Store 249(d) 251 - 252: 35(ptr) AccessChain 246(o) 20 - 253: 8(float) Load 252 - 254: 35(ptr) AccessChain 249(d) 202 - 255: 8(float) Load 254 - 256: 66(bool) FOrdEqual 253 255 - SelectionMerge 258 None - BranchConditional 256 257 258 - 257: Label - 259: 2 FunctionCall 6(doSomething() - Branch 258 - 258: Label + 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23 + Store 80(_mat4x3) 172 + 173: 78 Load 80(_mat4x3) + 174: 83 Transpose 173 + Store 85(_mat3x4) 174 + 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 + SelectionMerge 177 None + BranchConditional 175 176 177 + 176: Label + 178: 2 FunctionCall 6(doSomething() + Branch 177 + 177: Label + 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 + 181: 8(float) CompositeExtract 179 1 + 182: 67(bool) FOrdEqual 181 27 + SelectionMerge 184 None + BranchConditional 182 183 184 + 183: Label + 185: 2 FunctionCall 6(doSomething() + Branch 184 + 184: Label + Branch 167 + 166: Label + 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23 + 188: 67(bool) SGreaterThan 187 19 + SelectionMerge 190 None + BranchConditional 188 189 190 + 189: Label + 191: 2 FunctionCall 6(doSomething() + Branch 190 + 190: Label + 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23 + 193: 67(bool) SGreaterThan 192 19 + SelectionMerge 195 None + BranchConditional 193 194 195 + 194: Label + 196: 2 FunctionCall 6(doSomething() + Branch 195 + 195: Label + 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23 + 198: 67(bool) SGreaterThan 197 19 + SelectionMerge 200 None + BranchConditional 198 199 200 + 199: Label + 201: 2 FunctionCall 6(doSomething() + Branch 200 + 200: Label + 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23 + 204: 8(float) CompositeExtract 202 2 + 205: 67(bool) FOrdGreaterThan 204 27 + SelectionMerge 207 None + BranchConditional 205 206 207 + 206: Label + 208: 2 FunctionCall 6(doSomething() + Branch 207 + 207: Label + 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23 + 210: 8(float) CompositeExtract 209 0 + 211: 67(bool) FOrdGreaterThan 210 27 + SelectionMerge 213 None + BranchConditional 211 212 213 + 212: Label + 214: 2 FunctionCall 6(doSomething() + Branch 213 + 213: Label + 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23 + 216: 67(bool) SGreaterThan 215 19 + SelectionMerge 218 None + BranchConditional 216 217 218 + 217: Label + 219: 2 FunctionCall 6(doSomething() + Branch 218 + 218: Label + 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23 + 221: 67(bool) FOrdGreaterThan 220 27 + SelectionMerge 223 None + BranchConditional 221 222 223 + 222: Label + 224: 2 FunctionCall 6(doSomething() + Branch 223 + 223: Label + Branch 167 + 167: Label + 227: 35(ptr) AccessChain 85(_mat3x4) 19 20 + 228: 8(float) Load 227 + 229: 35(ptr) AccessChain 80(_mat4x3) 19 20 + 230: 8(float) Load 229 + 231: 67(bool) FOrdEqual 228 230 + SelectionMerge 233 None + BranchConditional 231 232 233 + 232: Label + 234: 2 FunctionCall 6(doSomething() + Branch 233 + 233: Label + 235: 45 Load 47(rayQuery) + 236: 14(int) RayQueryGetRayFlagsKHR 235 + 237: 67(bool) UGreaterThan 236 20 + SelectionMerge 239 None + BranchConditional 237 238 239 + 238: Label + 240: 2 FunctionCall 6(doSomething() + Branch 239 + 239: Label + 241: 45 Load 47(rayQuery) + 242: 8(float) RayQueryGetRayTMinKHR 241 + 243: 67(bool) FOrdGreaterThan 242 27 + SelectionMerge 245 None + BranchConditional 243 244 245 + 244: Label + 246: 2 FunctionCall 6(doSomething() + Branch 245 + 245: Label + 248: 45 Load 47(rayQuery) + 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248 + Store 247(o) 249 + 251: 45 Load 47(rayQuery) + 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251 + 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 FunctionEnd 6(doSomething(): 2 Function None 3 diff --git a/Test/baseResults/rayQuery-array-2d-dynamic.rgen.out b/Test/baseResults/rayQuery-array-2d-dynamic.rgen.out index e5af7ee..df13225 100644 --- a/Test/baseResults/rayQuery-array-2d-dynamic.rgen.out +++ b/Test/baseResults/rayQuery-array-2d-dynamic.rgen.out @@ -1,7 +1,7 @@ rayQuery-array-2d-dynamic.rgen // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 126 +// Id's are bound by 128 Capability RayQueryProvisionalKHR Capability RayTracingNV @@ -26,35 +26,35 @@ rayQuery-array-2d-dynamic.rgen Name 23 "gl_LaunchIDNV" Name 28 "gl_LaunchSizeNV" Name 50 "rtas" - Name 68 "index" - Name 70 "ray" - Name 71 "Ray" - MemberName 71(Ray) 0 "pos" - MemberName 71(Ray) 1 "tmin" - MemberName 71(Ray) 2 "dir" - MemberName 71(Ray) 3 "tmax" - Name 73 "Rays" - MemberName 73(Rays) 0 "rays" - Name 75 "" - Name 90 "rayQuery" - Name 92 "param" - Name 95 "param" - Name 118 "C" - Name 120 "param" - Name 123 "param" + Name 69 "index" + Name 71 "ray" + Name 72 "Ray" + MemberName 72(Ray) 0 "pos" + MemberName 72(Ray) 1 "tmin" + MemberName 72(Ray) 2 "dir" + MemberName 72(Ray) 3 "tmax" + Name 74 "Rays" + MemberName 74(Rays) 0 "rays" + Name 76 "" + Name 91 "rayQuery" + Name 93 "param" + Name 96 "param" + Name 120 "C" + Name 122 "param" + Name 125 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 - MemberDecorate 71(Ray) 0 Offset 0 - MemberDecorate 71(Ray) 1 Offset 12 - MemberDecorate 71(Ray) 2 Offset 16 - MemberDecorate 71(Ray) 3 Offset 28 - Decorate 72 ArrayStride 32 - MemberDecorate 73(Rays) 0 Offset 0 - Decorate 73(Rays) BufferBlock - Decorate 75 DescriptorSet 0 - Decorate 75 Binding 2 + MemberDecorate 72(Ray) 0 Offset 0 + MemberDecorate 72(Ray) 1 Offset 12 + MemberDecorate 72(Ray) 2 Offset 16 + MemberDecorate 72(Ray) 3 Offset 28 + Decorate 73 ArrayStride 32 + MemberDecorate 74(Rays) 0 Offset 0 + Decorate 74(Rays) BufferBlock + Decorate 76 DescriptorSet 0 + Decorate 76 Binding 2 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -77,87 +77,89 @@ rayQuery-array-2d-dynamic.rgen 48: TypeAccelerationStructureKHR 49: TypePointer UniformConstant 48 50(rtas): 49(ptr) Variable UniformConstant - 52: TypeInt 32 1 - 53: 52(int) Constant 0 - 54: TypePointer Function 13(fvec3) - 57: 52(int) Constant 1 - 58: TypePointer Function 12(float) - 61: 52(int) Constant 2 - 64: 52(int) Constant 3 - 67: TypePointer Function 6(int) - 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) - 72: TypeRuntimeArray 71(Ray) - 73(Rays): TypeStruct 72 - 74: TypePointer Uniform 73(Rays) - 75: 74(ptr) Variable Uniform - 77: TypePointer Uniform 71(Ray) - 88: TypeArray 10 24 - 89: TypePointer Function 88 - 117: TypePointer Private 52(int) - 118(C): 117(ptr) Variable Private + 52: 6(int) Constant 16 + 53: TypeInt 32 1 + 54: 53(int) Constant 0 + 55: TypePointer Function 13(fvec3) + 58: 53(int) Constant 1 + 59: TypePointer Function 12(float) + 62: 53(int) Constant 2 + 65: 53(int) Constant 3 + 68: TypePointer Function 6(int) + 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) + 73: TypeRuntimeArray 72(Ray) + 74(Rays): TypeStruct 73 + 75: TypePointer Uniform 74(Rays) + 76: 75(ptr) Variable Uniform + 78: TypePointer Uniform 72(Ray) + 89: TypeArray 10 24 + 90: TypePointer Function 89 + 110: 6(int) Constant 32 + 119: TypePointer Private 53(int) + 120(C): 119(ptr) Variable Private 4(main): 2 Function None 3 5: Label - 68(index): 67(ptr) Variable Function - 70(ray): 15(ptr) Variable Function - 90(rayQuery): 89(ptr) Variable Function - 92(param): 11(ptr) Variable Function - 95(param): 15(ptr) Variable Function - 120(param): 11(ptr) Variable Function - 123(param): 15(ptr) Variable Function - 69: 6(int) FunctionCall 8(launchIndex() - Store 68(index) 69 - 76: 6(int) Load 68(index) - 78: 77(ptr) AccessChain 75 53 76 - 79: 71(Ray) Load 78 - 80: 13(fvec3) CompositeExtract 79 0 - 81: 54(ptr) AccessChain 70(ray) 53 - Store 81 80 - 82: 12(float) CompositeExtract 79 1 - 83: 58(ptr) AccessChain 70(ray) 57 - Store 83 82 - 84: 13(fvec3) CompositeExtract 79 2 - 85: 54(ptr) AccessChain 70(ray) 61 - Store 85 84 - 86: 12(float) CompositeExtract 79 3 - 87: 58(ptr) AccessChain 70(ray) 64 - Store 87 86 - 91: 6(int) Load 68(index) - 93: 11(ptr) AccessChain 90(rayQuery) 53 - 94: 10 Load 93 - Store 92(param) 94 - 96: 77(ptr) AccessChain 75 53 91 - 97: 71(Ray) Load 96 - 98: 13(fvec3) CompositeExtract 97 0 - 99: 54(ptr) AccessChain 95(param) 53 - Store 99 98 - 100: 12(float) CompositeExtract 97 1 - 101: 58(ptr) AccessChain 95(param) 57 - Store 101 100 - 102: 13(fvec3) CompositeExtract 97 2 - 103: 54(ptr) AccessChain 95(param) 61 - Store 103 102 - 104: 12(float) CompositeExtract 97 3 - 105: 58(ptr) AccessChain 95(param) 64 - Store 105 104 - 106: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 92(param) 95(param) - 107: 11(ptr) AccessChain 90(rayQuery) 57 - 108: 48 Load 50(rtas) - 109: 54(ptr) AccessChain 70(ray) 53 - 110: 13(fvec3) Load 109 - 111: 58(ptr) AccessChain 70(ray) 57 - 112: 12(float) Load 111 - 113: 54(ptr) AccessChain 70(ray) 61 - 114: 13(fvec3) Load 113 - 115: 58(ptr) AccessChain 70(ray) 64 - 116: 12(float) Load 115 - RayQueryInitializeKHR 107 108 33 24 110 112 114 116 - 119: 52(int) Load 118(C) - 121: 11(ptr) AccessChain 90(rayQuery) 119 - 122: 10 Load 121 - Store 120(param) 122 - 124: 14(Ray) Load 70(ray) - Store 123(param) 124 - 125: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 120(param) 123(param) + 69(index): 68(ptr) Variable Function + 71(ray): 15(ptr) Variable Function + 91(rayQuery): 90(ptr) Variable Function + 93(param): 11(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() + Store 69(index) 70 + 77: 6(int) Load 69(index) + 79: 78(ptr) AccessChain 76 54 77 + 80: 72(Ray) Load 79 + 81: 13(fvec3) CompositeExtract 80 0 + 82: 55(ptr) AccessChain 71(ray) 54 + Store 82 81 + 83: 12(float) CompositeExtract 80 1 + 84: 59(ptr) AccessChain 71(ray) 58 + Store 84 83 + 85: 13(fvec3) CompositeExtract 80 2 + 86: 55(ptr) AccessChain 71(ray) 62 + Store 86 85 + 87: 12(float) CompositeExtract 80 3 + 88: 59(ptr) AccessChain 71(ray) 65 + Store 88 87 + 92: 6(int) Load 69(index) + 94: 11(ptr) AccessChain 91(rayQuery) 54 + 95: 10 Load 94 + Store 93(param) 95 + 97: 78(ptr) AccessChain 76 54 92 + 98: 72(Ray) Load 97 + 99: 13(fvec3) CompositeExtract 98 0 + 100: 55(ptr) AccessChain 96(param) 54 + Store 100 99 + 101: 12(float) CompositeExtract 98 1 + 102: 59(ptr) AccessChain 96(param) 58 + Store 102 101 + 103: 13(fvec3) CompositeExtract 98 2 + 104: 55(ptr) AccessChain 96(param) 62 + Store 104 103 + 105: 12(float) CompositeExtract 98 3 + 106: 59(ptr) AccessChain 96(param) 65 + Store 106 105 + 107: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 93(param) 96(param) + 108: 11(ptr) AccessChain 91(rayQuery) 58 + 109: 48 Load 50(rtas) + 111: 55(ptr) AccessChain 71(ray) 54 + 112: 13(fvec3) Load 111 + 113: 59(ptr) AccessChain 71(ray) 58 + 114: 12(float) Load 113 + 115: 55(ptr) AccessChain 71(ray) 62 + 116: 13(fvec3) Load 115 + 117: 59(ptr) AccessChain 71(ray) 65 + 118: 12(float) Load 117 + RayQueryInitializeKHR 108 109 33 110 112 114 116 118 + 121: 53(int) Load 120(C) + 123: 11(ptr) AccessChain 91(rayQuery) 121 + 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 FunctionEnd 8(launchIndex(): 6(int) Function None 7 @@ -186,14 +188,14 @@ rayQuery-array-2d-dynamic.rgen 18(ray): 15(ptr) FunctionParameter 20: Label 51: 48 Load 50(rtas) - 55: 54(ptr) AccessChain 18(ray) 53 - 56: 13(fvec3) Load 55 - 59: 58(ptr) AccessChain 18(ray) 57 - 60: 12(float) Load 59 - 62: 54(ptr) AccessChain 18(ray) 61 - 63: 13(fvec3) Load 62 - 65: 58(ptr) AccessChain 18(ray) 64 - 66: 12(float) Load 65 - RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 + 56: 55(ptr) AccessChain 18(ray) 54 + 57: 13(fvec3) Load 56 + 60: 59(ptr) AccessChain 18(ray) 58 + 61: 12(float) Load 60 + 63: 55(ptr) AccessChain 18(ray) 62 + 64: 13(fvec3) Load 63 + 66: 59(ptr) AccessChain 18(ray) 65 + 67: 12(float) Load 66 + RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67 Return FunctionEnd diff --git a/Test/baseResults/rayQuery-decls.rgen.out b/Test/baseResults/rayQuery-decls.rgen.out index 7a40d43..aa66411 100644 --- a/Test/baseResults/rayQuery-decls.rgen.out +++ b/Test/baseResults/rayQuery-decls.rgen.out @@ -1,7 +1,7 @@ rayQuery-decls.rgen // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 127 +// Id's are bound by 130 Capability RayQueryProvisionalKHR Capability RayTracingNV @@ -40,8 +40,8 @@ rayQuery-decls.rgen Name 86 "rayQuery0a" Name 89 "rayQuery0c" Name 96 "rtas" - Name 106 "rayQuery1c" - Name 126 "g_rayQueryUnused" + Name 107 "rayQuery1c" + Name 129 "g_rayQueryUnused" Decorate 12(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 17(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR MemberDecorate 45(Ray) 0 Offset 0 @@ -99,7 +99,10 @@ rayQuery-decls.rgen 94: TypeAccelerationStructureKHR 95: TypePointer UniformConstant 94 96(rtas): 95(ptr) Variable UniformConstant - 117: 6(int) Constant 3 + 98: 6(int) Constant 16 + 109: 6(int) Constant 32 + 119: 6(int) Constant 3 + 120: 6(int) Constant 64 4(main): 2 Function None 3 5: Label 38(index): 37(ptr) Variable Function @@ -108,8 +111,8 @@ rayQuery-decls.rgen 81(rayQuery0b): 80(ptr) Variable Function 86(rayQuery0a): 80(ptr) Variable Function 89(rayQuery0c): 80(ptr) Variable Function - 106(rayQuery1c): 80(ptr) Variable Function -126(g_rayQueryUnused): 80(ptr) Variable Function + 107(rayQuery1c): 80(ptr) Variable Function +129(g_rayQueryUnused): 80(ptr) Variable Function 39: 6(int) FunctionCall 8(launchIndex() Store 38(index) 39 52: 6(int) Load 38(index) @@ -143,35 +146,35 @@ rayQuery-decls.rgen 93: 69 Load 92 Store 89(rayQuery0c) 93 97: 94 Load 96(rtas) - 98: 57(ptr) AccessChain 44(ray) 51 - 99: 41(fvec3) Load 98 - 100: 61(ptr) AccessChain 44(ray) 60 - 101: 40(float) Load 100 - 102: 57(ptr) AccessChain 44(ray) 64 - 103: 41(fvec3) Load 102 - 104: 61(ptr) AccessChain 44(ray) 67 - 105: 40(float) Load 104 - RayQueryInitializeKHR 89(rayQuery0c) 97 22 13 99 101 103 105 - 107: 94 Load 96(rtas) - 108: 57(ptr) AccessChain 44(ray) 51 - 109: 41(fvec3) Load 108 - 110: 61(ptr) AccessChain 44(ray) 60 - 111: 40(float) Load 110 - 112: 57(ptr) AccessChain 44(ray) 64 - 113: 41(fvec3) Load 112 - 114: 61(ptr) AccessChain 44(ray) 67 - 115: 40(float) Load 114 - RayQueryInitializeKHR 106(rayQuery1c) 107 22 22 109 111 113 115 - 116: 94 Load 96(rtas) - 118: 57(ptr) AccessChain 44(ray) 51 - 119: 41(fvec3) Load 118 - 120: 61(ptr) AccessChain 44(ray) 60 - 121: 40(float) Load 120 - 122: 57(ptr) AccessChain 44(ray) 64 - 123: 41(fvec3) Load 122 - 124: 61(ptr) AccessChain 44(ray) 67 - 125: 40(float) Load 124 - RayQueryInitializeKHR 106(rayQuery1c) 116 117 70 119 121 123 125 + 99: 57(ptr) AccessChain 44(ray) 51 + 100: 41(fvec3) Load 99 + 101: 61(ptr) AccessChain 44(ray) 60 + 102: 40(float) Load 101 + 103: 57(ptr) AccessChain 44(ray) 64 + 104: 41(fvec3) Load 103 + 105: 61(ptr) AccessChain 44(ray) 67 + 106: 40(float) Load 105 + RayQueryInitializeKHR 89(rayQuery0c) 97 22 98 100 102 104 106 + 108: 94 Load 96(rtas) + 110: 57(ptr) AccessChain 44(ray) 51 + 111: 41(fvec3) Load 110 + 112: 61(ptr) AccessChain 44(ray) 60 + 113: 40(float) Load 112 + 114: 57(ptr) AccessChain 44(ray) 64 + 115: 41(fvec3) Load 114 + 116: 61(ptr) AccessChain 44(ray) 67 + 117: 40(float) Load 116 + RayQueryInitializeKHR 107(rayQuery1c) 108 22 109 111 113 115 117 + 118: 94 Load 96(rtas) + 121: 57(ptr) AccessChain 44(ray) 51 + 122: 41(fvec3) Load 121 + 123: 61(ptr) AccessChain 44(ray) 60 + 124: 40(float) Load 123 + 125: 57(ptr) AccessChain 44(ray) 64 + 126: 41(fvec3) Load 125 + 127: 61(ptr) AccessChain 44(ray) 67 + 128: 40(float) Load 127 + RayQueryInitializeKHR 107(rayQuery1c) 118 119 120 122 124 126 128 Return FunctionEnd 8(launchIndex(): 6(int) Function None 7 diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out index f7e05a9..7daa658 100644 --- a/Test/baseResults/rayQuery-initialize.rgen.out +++ b/Test/baseResults/rayQuery-initialize.rgen.out @@ -1,7 +1,7 @@ rayQuery-initialize.rgen // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 103 +// Id's are bound by 105 Capability RayQueryProvisionalKHR Capability RayTracingNV @@ -26,32 +26,32 @@ rayQuery-initialize.rgen Name 23 "gl_LaunchIDNV" Name 28 "gl_LaunchSizeNV" Name 50 "rtas" - Name 68 "index" - Name 70 "ray" - Name 71 "Ray" - MemberName 71(Ray) 0 "pos" - MemberName 71(Ray) 1 "tmin" - MemberName 71(Ray) 2 "dir" - MemberName 71(Ray) 3 "tmax" - Name 73 "Rays" - MemberName 73(Rays) 0 "rays" - Name 75 "" - Name 88 "rayQuery" - Name 89 "param" - Name 91 "param" + Name 69 "index" + Name 71 "ray" + Name 72 "Ray" + MemberName 72(Ray) 0 "pos" + MemberName 72(Ray) 1 "tmin" + MemberName 72(Ray) 2 "dir" + MemberName 72(Ray) 3 "tmax" + Name 74 "Rays" + MemberName 74(Rays) 0 "rays" + Name 76 "" + Name 89 "rayQuery" + Name 90 "param" + Name 92 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 - MemberDecorate 71(Ray) 0 Offset 0 - MemberDecorate 71(Ray) 1 Offset 12 - MemberDecorate 71(Ray) 2 Offset 16 - MemberDecorate 71(Ray) 3 Offset 28 - Decorate 72 ArrayStride 32 - MemberDecorate 73(Rays) 0 Offset 0 - Decorate 73(Rays) BufferBlock - Decorate 75 DescriptorSet 0 - Decorate 75 Binding 2 + MemberDecorate 72(Ray) 0 Offset 0 + MemberDecorate 72(Ray) 1 Offset 12 + MemberDecorate 72(Ray) 2 Offset 16 + MemberDecorate 72(Ray) 3 Offset 28 + Decorate 73 ArrayStride 32 + MemberDecorate 74(Rays) 0 Offset 0 + Decorate 74(Rays) BufferBlock + Decorate 76 DescriptorSet 0 + Decorate 76 Binding 2 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -74,59 +74,61 @@ rayQuery-initialize.rgen 48: TypeAccelerationStructureKHR 49: TypePointer UniformConstant 48 50(rtas): 49(ptr) Variable UniformConstant - 52: TypeInt 32 1 - 53: 52(int) Constant 0 - 54: TypePointer Function 13(fvec3) - 57: 52(int) Constant 1 - 58: TypePointer Function 12(float) - 61: 52(int) Constant 2 - 64: 52(int) Constant 3 - 67: TypePointer Function 6(int) - 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) - 72: TypeRuntimeArray 71(Ray) - 73(Rays): TypeStruct 72 - 74: TypePointer Uniform 73(Rays) - 75: 74(ptr) Variable Uniform - 77: TypePointer Uniform 71(Ray) + 52: 6(int) Constant 16 + 53: TypeInt 32 1 + 54: 53(int) Constant 0 + 55: TypePointer Function 13(fvec3) + 58: 53(int) Constant 1 + 59: TypePointer Function 12(float) + 62: 53(int) Constant 2 + 65: 53(int) Constant 3 + 68: TypePointer Function 6(int) + 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) + 73: TypeRuntimeArray 72(Ray) + 74(Rays): TypeStruct 73 + 75: TypePointer Uniform 74(Rays) + 76: 75(ptr) Variable Uniform + 78: TypePointer Uniform 72(Ray) + 96: 6(int) Constant 32 4(main): 2 Function None 3 5: Label - 68(index): 67(ptr) Variable Function - 70(ray): 15(ptr) Variable Function - 88(rayQuery): 11(ptr) Variable Function - 89(param): 11(ptr) Variable Function - 91(param): 15(ptr) Variable Function - 69: 6(int) FunctionCall 8(launchIndex() - Store 68(index) 69 - 76: 6(int) Load 68(index) - 78: 77(ptr) AccessChain 75 53 76 - 79: 71(Ray) Load 78 - 80: 13(fvec3) CompositeExtract 79 0 - 81: 54(ptr) AccessChain 70(ray) 53 - Store 81 80 - 82: 12(float) CompositeExtract 79 1 - 83: 58(ptr) AccessChain 70(ray) 57 - Store 83 82 - 84: 13(fvec3) CompositeExtract 79 2 - 85: 54(ptr) AccessChain 70(ray) 61 - Store 85 84 - 86: 12(float) CompositeExtract 79 3 - 87: 58(ptr) AccessChain 70(ray) 64 - Store 87 86 - 90: 10 Load 88(rayQuery) - Store 89(param) 90 - 92: 14(Ray) Load 70(ray) - Store 91(param) 92 - 93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param) - 94: 48 Load 50(rtas) - 95: 54(ptr) AccessChain 70(ray) 53 - 96: 13(fvec3) Load 95 - 97: 58(ptr) AccessChain 70(ray) 57 - 98: 12(float) Load 97 - 99: 54(ptr) AccessChain 70(ray) 61 - 100: 13(fvec3) Load 99 - 101: 58(ptr) AccessChain 70(ray) 64 - 102: 12(float) Load 101 - RayQueryInitializeKHR 88(rayQuery) 94 33 24 96 98 100 102 + 69(index): 68(ptr) Variable Function + 71(ray): 15(ptr) Variable Function + 89(rayQuery): 11(ptr) Variable Function + 90(param): 11(ptr) Variable Function + 92(param): 15(ptr) Variable Function + 70: 6(int) FunctionCall 8(launchIndex() + Store 69(index) 70 + 77: 6(int) Load 69(index) + 79: 78(ptr) AccessChain 76 54 77 + 80: 72(Ray) Load 79 + 81: 13(fvec3) CompositeExtract 80 0 + 82: 55(ptr) AccessChain 71(ray) 54 + Store 82 81 + 83: 12(float) CompositeExtract 80 1 + 84: 59(ptr) AccessChain 71(ray) 58 + Store 84 83 + 85: 13(fvec3) CompositeExtract 80 2 + 86: 55(ptr) AccessChain 71(ray) 62 + Store 86 85 + 87: 12(float) CompositeExtract 80 3 + 88: 59(ptr) AccessChain 71(ray) 65 + Store 88 87 + 91: 10 Load 89(rayQuery) + Store 90(param) 91 + 93: 14(Ray) Load 71(ray) + Store 92(param) 93 + 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param) + 95: 48 Load 50(rtas) + 97: 55(ptr) AccessChain 71(ray) 54 + 98: 13(fvec3) Load 97 + 99: 59(ptr) AccessChain 71(ray) 58 + 100: 12(float) Load 99 + 101: 55(ptr) AccessChain 71(ray) 62 + 102: 13(fvec3) Load 101 + 103: 59(ptr) AccessChain 71(ray) 65 + 104: 12(float) Load 103 + RayQueryInitializeKHR 89(rayQuery) 95 33 96 98 100 102 104 Return FunctionEnd 8(launchIndex(): 6(int) Function None 7 @@ -155,14 +157,14 @@ rayQuery-initialize.rgen 18(ray): 15(ptr) FunctionParameter 20: Label 51: 48 Load 50(rtas) - 55: 54(ptr) AccessChain 18(ray) 53 - 56: 13(fvec3) Load 55 - 59: 58(ptr) AccessChain 18(ray) 57 - 60: 12(float) Load 59 - 62: 54(ptr) AccessChain 18(ray) 61 - 63: 13(fvec3) Load 62 - 65: 58(ptr) AccessChain 18(ray) 64 - 66: 12(float) Load 65 - RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 + 56: 55(ptr) AccessChain 18(ray) 54 + 57: 13(fvec3) Load 56 + 60: 59(ptr) AccessChain 18(ray) 58 + 61: 12(float) Load 60 + 63: 55(ptr) AccessChain 18(ray) 62 + 64: 13(fvec3) Load 63 + 66: 59(ptr) AccessChain 18(ray) 65 + 67: 12(float) Load 66 + RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67 Return FunctionEnd diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out index 357fa8c..69e0841 100644 --- a/Test/baseResults/rayQuery-no-cse.rgen.out +++ b/Test/baseResults/rayQuery-no-cse.rgen.out @@ -1,7 +1,7 @@ rayQuery-no-cse.rgen // Module Version 10000 // Generated by (magic number): 80008 -// Id's are bound by 109 +// Id's are bound by 111 Capability RayQueryProvisionalKHR Capability RayTracingNV @@ -26,35 +26,35 @@ rayQuery-no-cse.rgen Name 23 "gl_LaunchIDNV" Name 28 "gl_LaunchSizeNV" Name 50 "rtas" - Name 68 "index" - Name 70 "ray" - Name 71 "Ray" - MemberName 71(Ray) 0 "pos" - MemberName 71(Ray) 1 "tmin" - MemberName 71(Ray) 2 "dir" - MemberName 71(Ray) 3 "tmax" - Name 73 "Rays" - MemberName 73(Rays) 0 "rays" - Name 75 "" - Name 88 "rayQuery1" - Name 89 "param" - Name 91 "param" - Name 103 "rayQuery2" - Name 104 "param" + Name 69 "index" + Name 71 "ray" + Name 72 "Ray" + MemberName 72(Ray) 0 "pos" + MemberName 72(Ray) 1 "tmin" + MemberName 72(Ray) 2 "dir" + MemberName 72(Ray) 3 "tmax" + Name 74 "Rays" + MemberName 74(Rays) 0 "rays" + Name 76 "" + Name 89 "rayQuery1" + Name 90 "param" + Name 92 "param" + Name 105 "rayQuery2" Name 106 "param" + Name 108 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 - MemberDecorate 71(Ray) 0 Offset 0 - MemberDecorate 71(Ray) 1 Offset 12 - MemberDecorate 71(Ray) 2 Offset 16 - MemberDecorate 71(Ray) 3 Offset 28 - Decorate 72 ArrayStride 32 - MemberDecorate 73(Rays) 0 Offset 0 - Decorate 73(Rays) BufferBlock - Decorate 75 DescriptorSet 0 - Decorate 75 Binding 2 + MemberDecorate 72(Ray) 0 Offset 0 + MemberDecorate 72(Ray) 1 Offset 12 + MemberDecorate 72(Ray) 2 Offset 16 + MemberDecorate 72(Ray) 3 Offset 28 + Decorate 73 ArrayStride 32 + MemberDecorate 74(Rays) 0 Offset 0 + Decorate 74(Rays) BufferBlock + Decorate 76 DescriptorSet 0 + Decorate 76 Binding 2 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 @@ -77,67 +77,69 @@ rayQuery-no-cse.rgen 48: TypeAccelerationStructureKHR 49: TypePointer UniformConstant 48 50(rtas): 49(ptr) Variable UniformConstant - 52: TypeInt 32 1 - 53: 52(int) Constant 0 - 54: TypePointer Function 13(fvec3) - 57: 52(int) Constant 1 - 58: TypePointer Function 12(float) - 61: 52(int) Constant 2 - 64: 52(int) Constant 3 - 67: TypePointer Function 6(int) - 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) - 72: TypeRuntimeArray 71(Ray) - 73(Rays): TypeStruct 72 - 74: TypePointer Uniform 73(Rays) - 75: 74(ptr) Variable Uniform - 77: TypePointer Uniform 71(Ray) + 52: 6(int) Constant 16 + 53: TypeInt 32 1 + 54: 53(int) Constant 0 + 55: TypePointer Function 13(fvec3) + 58: 53(int) Constant 1 + 59: TypePointer Function 12(float) + 62: 53(int) Constant 2 + 65: 53(int) Constant 3 + 68: TypePointer Function 6(int) + 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) + 73: TypeRuntimeArray 72(Ray) + 74(Rays): TypeStruct 73 + 75: TypePointer Uniform 74(Rays) + 76: 75(ptr) Variable Uniform + 78: TypePointer Uniform 72(Ray) + 96: 6(int) Constant 32 4(main): 2 Function None 3 5: Label - 68(index): 67(ptr) Variable Function - 70(ray): 15(ptr) Variable Function - 88(rayQuery1): 11(ptr) Variable Function - 89(param): 11(ptr) Variable Function - 91(param): 15(ptr) Variable Function - 103(rayQuery2): 11(ptr) Variable Function - 104(param): 11(ptr) Variable Function - 106(param): 15(ptr) Variable Function - 69: 6(int) FunctionCall 8(launchIndex() - Store 68(index) 69 - 76: 6(int) Load 68(index) - 78: 77(ptr) AccessChain 75 53 76 - 79: 71(Ray) Load 78 - 80: 13(fvec3) CompositeExtract 79 0 - 81: 54(ptr) AccessChain 70(ray) 53 - Store 81 80 - 82: 12(float) CompositeExtract 79 1 - 83: 58(ptr) AccessChain 70(ray) 57 - Store 83 82 - 84: 13(fvec3) CompositeExtract 79 2 - 85: 54(ptr) AccessChain 70(ray) 61 - Store 85 84 - 86: 12(float) CompositeExtract 79 3 - 87: 58(ptr) AccessChain 70(ray) 64 - Store 87 86 - 90: 10 Load 88(rayQuery1) - Store 89(param) 90 - 92: 14(Ray) Load 70(ray) - Store 91(param) 92 - 93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param) - 94: 48 Load 50(rtas) - 95: 54(ptr) AccessChain 70(ray) 53 - 96: 13(fvec3) Load 95 - 97: 58(ptr) AccessChain 70(ray) 57 - 98: 12(float) Load 97 - 99: 54(ptr) AccessChain 70(ray) 61 - 100: 13(fvec3) Load 99 - 101: 58(ptr) AccessChain 70(ray) 64 - 102: 12(float) Load 101 - RayQueryInitializeKHR 88(rayQuery1) 94 33 24 96 98 100 102 - 105: 10 Load 103(rayQuery2) - Store 104(param) 105 - 107: 14(Ray) Load 70(ray) + 69(index): 68(ptr) Variable Function + 71(ray): 15(ptr) Variable Function + 89(rayQuery1): 11(ptr) Variable Function + 90(param): 11(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() + Store 69(index) 70 + 77: 6(int) Load 69(index) + 79: 78(ptr) AccessChain 76 54 77 + 80: 72(Ray) Load 79 + 81: 13(fvec3) CompositeExtract 80 0 + 82: 55(ptr) AccessChain 71(ray) 54 + Store 82 81 + 83: 12(float) CompositeExtract 80 1 + 84: 59(ptr) AccessChain 71(ray) 58 + Store 84 83 + 85: 13(fvec3) CompositeExtract 80 2 + 86: 55(ptr) AccessChain 71(ray) 62 + Store 86 85 + 87: 12(float) CompositeExtract 80 3 + 88: 59(ptr) AccessChain 71(ray) 65 + Store 88 87 + 91: 10 Load 89(rayQuery1) + Store 90(param) 91 + 93: 14(Ray) Load 71(ray) + Store 92(param) 93 + 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param) + 95: 48 Load 50(rtas) + 97: 55(ptr) AccessChain 71(ray) 54 + 98: 13(fvec3) Load 97 + 99: 59(ptr) AccessChain 71(ray) 58 + 100: 12(float) Load 99 + 101: 55(ptr) AccessChain 71(ray) 62 + 102: 13(fvec3) Load 101 + 103: 59(ptr) AccessChain 71(ray) 65 + 104: 12(float) Load 103 + RayQueryInitializeKHR 89(rayQuery1) 95 33 96 98 100 102 104 + 107: 10 Load 105(rayQuery2) Store 106(param) 107 - 108: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 104(param) 106(param) + 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 FunctionEnd 8(launchIndex(): 6(int) Function None 7 @@ -166,14 +168,14 @@ rayQuery-no-cse.rgen 18(ray): 15(ptr) FunctionParameter 20: Label 51: 48 Load 50(rtas) - 55: 54(ptr) AccessChain 18(ray) 53 - 56: 13(fvec3) Load 55 - 59: 58(ptr) AccessChain 18(ray) 57 - 60: 12(float) Load 59 - 62: 54(ptr) AccessChain 18(ray) 61 - 63: 13(fvec3) Load 62 - 65: 58(ptr) AccessChain 18(ray) 64 - 66: 12(float) Load 65 - RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 + 56: 55(ptr) AccessChain 18(ray) 54 + 57: 13(fvec3) Load 56 + 60: 59(ptr) AccessChain 18(ray) 58 + 61: 12(float) Load 60 + 63: 55(ptr) AccessChain 18(ray) 62 + 64: 13(fvec3) Load 63 + 66: 59(ptr) AccessChain 18(ray) 65 + 67: 12(float) Load 66 + RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67 Return FunctionEnd diff --git a/Test/rayQuery-allOps.Error.rgen b/Test/rayQuery-allOps.Error.rgen index a33cece..2950500 100644 --- a/Test/rayQuery-allOps.Error.rgen +++ b/Test/rayQuery-allOps.Error.rgen @@ -39,7 +39,7 @@ void main() { Ray ray = makeRayDesc(); rayQueryEXT rayQuery; - rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); mat4x3 _mat4x3; mat3x4 _mat3x4; diff --git a/Test/rayQuery-allOps.comp b/Test/rayQuery-allOps.comp index 7c62a64..8aed42d 100644 --- a/Test/rayQuery-allOps.comp +++ b/Test/rayQuery-allOps.comp @@ -37,9 +37,9 @@ Ray makeRayDesc() void main() { - Ray ray;// = makeRayDesc(); + Ray ray = makeRayDesc(); rayQueryEXT rayQuery; - rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); mat4x3 _mat4x3; mat3x4 _mat3x4; diff --git a/Test/rayQuery-allOps.frag b/Test/rayQuery-allOps.frag index 7c62a64..8aed42d 100644 --- a/Test/rayQuery-allOps.frag +++ b/Test/rayQuery-allOps.frag @@ -37,9 +37,9 @@ Ray makeRayDesc() void main() { - Ray ray;// = makeRayDesc(); + Ray ray = makeRayDesc(); rayQueryEXT rayQuery; - rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); mat4x3 _mat4x3; mat3x4 _mat3x4; diff --git a/Test/rayQuery-allOps.rgen b/Test/rayQuery-allOps.rgen index 7c62a64..8aed42d 100644 --- a/Test/rayQuery-allOps.rgen +++ b/Test/rayQuery-allOps.rgen @@ -37,9 +37,9 @@ Ray makeRayDesc() void main() { - Ray ray;// = makeRayDesc(); + Ray ray = makeRayDesc(); rayQueryEXT rayQuery; - rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); mat4x3 _mat4x3; mat3x4 _mat3x4; diff --git a/Test/rayQuery-array-2d-dynamic.rgen b/Test/rayQuery-array-2d-dynamic.rgen index 922e944..26c6f43 100644 --- a/Test/rayQuery-array-2d-dynamic.rgen +++ b/Test/rayQuery-array-2d-dynamic.rgen @@ -20,7 +20,7 @@ uint launchIndex() void doInitialize(rayQueryEXT rayQuery, Ray ray) { - rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); } int C; @@ -31,6 +31,6 @@ void main() Ray ray = rays[index]; rayQueryEXT rayQuery[2]; doInitialize(rayQuery[0], rays[index]); - rayQueryInitializeEXT(rayQuery[1], rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery[1], rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); doInitialize(rayQuery[C], ray); } diff --git a/Test/rayQuery-committed.Error.rgen b/Test/rayQuery-committed.Error.rgen index 7d444dd..08a32b2 100644 --- a/Test/rayQuery-committed.Error.rgen +++ b/Test/rayQuery-committed.Error.rgen @@ -39,7 +39,7 @@ void main() bool committed_true = true; bool committed_false = false; - rayQueryInitializeEXT(rayQuery, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); while (rayQueryProceedEXT(rayQuery)) { mat4x3 mat_o2w; diff --git a/Test/rayQuery-decls.rgen b/Test/rayQuery-decls.rgen index f3e5f5f..22569b6 100644 --- a/Test/rayQuery-decls.rgen +++ b/Test/rayQuery-decls.rgen @@ -41,13 +41,13 @@ void main() rayQueryEXT rayQuery0c = g_rayQueryArray[idx]; // rayQuery0a is the one actually used here - rayQueryInitializeEXT(rayQuery0c, rtas, gl_RayFlagsOpaqueEXT, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery0c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); // AllocateRayQuery occurs here, rather than next to allocas // Should not be extray allocate, since above should allocate and copy rayQueryEXT rayQuery1c; // update the rayFlags as RAY_FLAG_FORCE_OPAQUE - rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); - rayQueryInitializeEXT(rayQuery1c, rtas, 3, 4, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT|gl_RayFlagsNoOpaqueEXT, gl_RayFlagsCullOpaqueEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); } diff --git a/Test/rayQuery-initialize.rgen b/Test/rayQuery-initialize.rgen index 75ec1ba..501faeb 100644 --- a/Test/rayQuery-initialize.rgen +++ b/Test/rayQuery-initialize.rgen @@ -20,7 +20,7 @@ uint launchIndex() void doInitialize(rayQueryEXT rayQuery, Ray ray) { - rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); } void main() @@ -29,5 +29,5 @@ void main() Ray ray = rays[index]; rayQueryEXT rayQuery; doInitialize(rayQuery, ray); - rayQueryInitializeEXT(rayQuery, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); } diff --git a/Test/rayQuery-no-cse.rgen b/Test/rayQuery-no-cse.rgen index dd6e90d..26651d5 100644 --- a/Test/rayQuery-no-cse.rgen +++ b/Test/rayQuery-no-cse.rgen @@ -20,7 +20,7 @@ uint launchIndex() void doInitialize(rayQueryEXT rayQuery, Ray ray) { - rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); } void main() @@ -30,6 +30,6 @@ void main() rayQueryEXT rayQuery1; rayQueryEXT rayQuery2; doInitialize(rayQuery1, ray); - rayQueryInitializeEXT(rayQuery1, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); + rayQueryInitializeEXT(rayQuery1, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax); doInitialize(rayQuery2, ray); } diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index 7c55108..cbcbe1a 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -5573,24 +5573,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV commonBuiltins.append(constRayQueryIntersection); + commonBuiltins.append(constRayFlags); stageBuiltins[EShLangRayGen].append(rayGenDecls); - stageBuiltins[EShLangRayGen].append(constRayFlags); - stageBuiltins[EShLangIntersect].append(intersectDecls); - stageBuiltins[EShLangIntersect].append(constRayFlags); - stageBuiltins[EShLangAnyHit].append(hitDecls); - stageBuiltins[EShLangAnyHit].append(constRayFlags); - stageBuiltins[EShLangClosestHit].append(hitDecls); - stageBuiltins[EShLangClosestHit].append(constRayFlags); - stageBuiltins[EShLangMiss].append(missDecls); - stageBuiltins[EShLangMiss].append(constRayFlags); - stageBuiltins[EShLangCallable].append(callableDecls); - stageBuiltins[EShLangCallable].append(constRayFlags); } if ((profile != EEsProfile && version >= 140)) { -- 2.7.4